mirror of
https://github.com/carlrobertoh/ProxyAI.git
synced 2026-04-29 12:11:26 +00:00
Encapsulate settings (#180)
This commit is contained in:
parent
de971806d0
commit
ef5fd5919f
36 changed files with 697 additions and 369 deletions
|
|
@ -50,7 +50,7 @@ public class ConfigurationComponent {
|
|||
|
||||
public ConfigurationComponent(Disposable parentDisposable, ConfigurationState configuration) {
|
||||
table = new JBTable(new DefaultTableModel(
|
||||
EditorActionsUtil.toArray(configuration.tableData),
|
||||
EditorActionsUtil.toArray(configuration.getTableData()),
|
||||
new String[] {
|
||||
CodeGPTBundle.get("configurationConfigurable.table.header.actionColumnLabel"),
|
||||
CodeGPTBundle.get("configurationConfigurable.table.header.promptColumnLabel")
|
||||
|
|
@ -62,7 +62,7 @@ public class ConfigurationComponent {
|
|||
tablePanel.setBorder(BorderFactory.createTitledBorder(CodeGPTBundle.get("configurationConfigurable.table.title")));
|
||||
|
||||
temperatureField = new JBTextField(12);
|
||||
temperatureField.setText(String.valueOf(configuration.temperature));
|
||||
temperatureField.setText(String.valueOf(configuration.getTemperature()));
|
||||
|
||||
var temperatureFieldValidator = createInputValidator(parentDisposable, temperatureField);
|
||||
temperatureField.getDocument().addDocumentListener(new DocumentListener() {
|
||||
|
|
@ -84,7 +84,7 @@ public class ConfigurationComponent {
|
|||
|
||||
maxTokensField = new IntegerField("max_tokens", 100, 2000);
|
||||
maxTokensField.setColumns(12);
|
||||
maxTokensField.setValue(configuration.maxTokens);
|
||||
maxTokensField.setValue(configuration.getMaxTokens());
|
||||
|
||||
systemPromptTextArea = new JTextArea();
|
||||
systemPromptTextArea.setLineWrap(true);
|
||||
|
|
|
|||
|
|
@ -29,32 +29,32 @@ public class ConfigurationConfigurable implements Configurable, Disposable {
|
|||
@Override
|
||||
public boolean isModified() {
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
return !configurationComponent.getTableData().equals(configuration.tableData) ||
|
||||
configurationComponent.getMaxTokens() != configuration.maxTokens ||
|
||||
configurationComponent.getTemperature() != configuration.temperature ||
|
||||
!configurationComponent.getSystemPrompt().equals(configuration.systemPrompt) ||
|
||||
configurationComponent.isCreateNewChatOnEachAction() != configuration.createNewChatOnEachAction;
|
||||
return !configurationComponent.getTableData().equals(configuration.getTableData()) ||
|
||||
configurationComponent.getMaxTokens() != configuration.getMaxTokens() ||
|
||||
configurationComponent.getTemperature() != configuration.getTemperature() ||
|
||||
!configurationComponent.getSystemPrompt().equals(configuration.getSystemPrompt()) ||
|
||||
configurationComponent.isCreateNewChatOnEachAction() != configuration.isCreateNewChatOnEachAction();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply() {
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
configuration.tableData = configurationComponent.getTableData();
|
||||
configuration.maxTokens = configurationComponent.getMaxTokens();
|
||||
configuration.temperature = configurationComponent.getTemperature();
|
||||
configuration.systemPrompt = configurationComponent.getSystemPrompt();
|
||||
configuration.createNewChatOnEachAction = configurationComponent.isCreateNewChatOnEachAction();
|
||||
configuration.setTableData(configurationComponent.getTableData());
|
||||
configuration.setMaxTokens(configurationComponent.getMaxTokens());
|
||||
configuration.setTemperature(configurationComponent.getTemperature());
|
||||
configuration.setSystemPrompt(configurationComponent.getSystemPrompt());
|
||||
configuration.setCreateNewChatOnEachAction(configurationComponent.isCreateNewChatOnEachAction());
|
||||
EditorActionsUtil.refreshActions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
var configuration = ConfigurationState.getInstance();
|
||||
configurationComponent.setTableData(configuration.tableData);
|
||||
configurationComponent.setMaxTokens(configuration.maxTokens);
|
||||
configurationComponent.setTemperature(configuration.temperature);
|
||||
configurationComponent.setSystemPrompt(configuration.systemPrompt);
|
||||
configurationComponent.setCreateNewChatOnEachAction(configuration.createNewChatOnEachAction);
|
||||
configurationComponent.setTableData(configuration.getTableData());
|
||||
configurationComponent.setMaxTokens(configuration.getMaxTokens());
|
||||
configurationComponent.setTemperature(configuration.getTemperature());
|
||||
configurationComponent.setSystemPrompt(configuration.getSystemPrompt());
|
||||
configurationComponent.setCreateNewChatOnEachAction(configuration.isCreateNewChatOnEachAction());
|
||||
EditorActionsUtil.refreshActions();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,12 +16,11 @@ import org.jetbrains.annotations.Nullable;
|
|||
)
|
||||
public class ConfigurationState implements PersistentStateComponent<ConfigurationState> {
|
||||
|
||||
public String systemPrompt = "";
|
||||
public int maxTokens = 1000;
|
||||
public double temperature = 0.2;
|
||||
public boolean createNewChatOnEachAction;
|
||||
|
||||
public Map<String, String> tableData = EditorActionsUtil.DEFAULT_ACTIONS;
|
||||
private String systemPrompt = "";
|
||||
private int maxTokens = 1000;
|
||||
private double temperature = 0.2;
|
||||
private boolean createNewChatOnEachAction;
|
||||
private Map<String, String> tableData = EditorActionsUtil.DEFAULT_ACTIONS;
|
||||
|
||||
public static ConfigurationState getInstance() {
|
||||
return ApplicationManager.getApplication().getService(ConfigurationState.class);
|
||||
|
|
@ -37,4 +36,44 @@ public class ConfigurationState implements PersistentStateComponent<Configuratio
|
|||
public void loadState(@NotNull ConfigurationState state) {
|
||||
XmlSerializerUtil.copyBean(state, this);
|
||||
}
|
||||
|
||||
public String getSystemPrompt() {
|
||||
return systemPrompt;
|
||||
}
|
||||
|
||||
public void setSystemPrompt(String systemPrompt) {
|
||||
this.systemPrompt = systemPrompt;
|
||||
}
|
||||
|
||||
public int getMaxTokens() {
|
||||
return maxTokens;
|
||||
}
|
||||
|
||||
public void setMaxTokens(int maxTokens) {
|
||||
this.maxTokens = maxTokens;
|
||||
}
|
||||
|
||||
public double getTemperature() {
|
||||
return temperature;
|
||||
}
|
||||
|
||||
public void setTemperature(double temperature) {
|
||||
this.temperature = temperature;
|
||||
}
|
||||
|
||||
public boolean isCreateNewChatOnEachAction() {
|
||||
return createNewChatOnEachAction;
|
||||
}
|
||||
|
||||
public void setCreateNewChatOnEachAction(boolean createNewChatOnEachAction) {
|
||||
this.createNewChatOnEachAction = createNewChatOnEachAction;
|
||||
}
|
||||
|
||||
public Map<String, String> getTableData() {
|
||||
return tableData;
|
||||
}
|
||||
|
||||
public void setTableData(Map<String, String> tableData) {
|
||||
this.tableData = tableData;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue