Skip to content

Commit 2a0fc29

Browse files
authored
Merge pull request #4689 from ep9io/pr/4688-langchat-ui-fixes
[Bug]: Improve the settings UI for the Language Chat Transform Plugi…
2 parents 6820d4b + 6d9c4ed commit 2a0fc29

File tree

4 files changed

+73
-34
lines changed

4 files changed

+73
-34
lines changed

plugins/transforms/languagemodelchat/src/main/java/org/apache/hop/pipeline/transforms/languagemodelchat/LanguageModelChatDialog.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,19 @@
1919

2020
import static org.apache.hop.pipeline.transforms.languagemodelchat.internals.ui.CompositeParameters.Builder.buildCompositeParameters;
2121
import static org.apache.hop.pipeline.transforms.languagemodelchat.internals.ui.i18nUtil.i18n;
22-
import static org.apache.hop.ui.core.PropsUi.getFormMargin;
2322
import static org.apache.hop.ui.core.PropsUi.getMargin;
2423
import static org.apache.hop.ui.core.PropsUi.setLook;
2524
import static org.apache.hop.ui.core.dialog.BaseDialog.defaultShellHandling;
25+
import static org.eclipse.swt.SWT.BORDER;
2626
import static org.eclipse.swt.SWT.DIALOG_TRIM;
2727
import static org.eclipse.swt.SWT.MAX;
2828
import static org.eclipse.swt.SWT.MIN;
29-
import static org.eclipse.swt.SWT.NONE;
3029
import static org.eclipse.swt.SWT.RESIZE;
3130

3231
import java.util.Collection;
3332
import java.util.List;
3433
import org.apache.hop.core.variables.IVariables;
3534
import org.apache.hop.pipeline.PipelineMeta;
36-
import org.apache.hop.pipeline.transform.BaseTransformMeta;
3735
import org.apache.hop.pipeline.transform.ITransformDialog;
3836
import org.apache.hop.pipeline.transforms.languagemodelchat.internals.ui.CancelButton;
3937
import org.apache.hop.pipeline.transforms.languagemodelchat.internals.ui.CompositeParameters.Builder;
@@ -63,30 +61,35 @@ public class LanguageModelChatDialog extends BaseTransformDialog
6361
private Collection<IDialogComposite> composites;
6462

6563
public LanguageModelChatDialog(
66-
Shell parent, IVariables variables, Object in, PipelineMeta pipelineMeta, String sname) {
67-
super(parent, variables, (BaseTransformMeta) in, pipelineMeta, sname);
68-
input = (LanguageModelChatMeta) in;
64+
Shell parent,
65+
IVariables variables,
66+
LanguageModelChatMeta transformMeta,
67+
PipelineMeta pipelineMeta) {
68+
super(parent, variables, transformMeta, pipelineMeta);
69+
input = transformMeta;
6970
}
7071

7172
@Override
7273
public String open() {
7374
Shell parent = getParent();
74-
shell = new Shell(parent, DIALOG_TRIM | RESIZE | MAX | MIN);
75+
76+
shell = new Shell(parent, DIALOG_TRIM | RESIZE | MIN | MAX);
7577
setLook(shell);
7678
setShellImage(shell, input);
7779

7880
changed = input.hasChanged();
7981

82+
int margin = getMargin();
83+
8084
FormLayout formLayout = new FormLayout();
81-
formLayout.marginWidth = getFormMargin();
82-
formLayout.marginHeight = getFormMargin();
85+
formLayout.marginWidth = margin;
86+
formLayout.marginHeight = margin;
87+
8388
shell.setLayout(formLayout);
8489
shell.setText(i18n("LanguageModelChatDialog.Shell.Title"));
8590

86-
int margin = getMargin();
87-
8891
// Model Specific Composite
89-
Composite modelComposite = new Composite(shell, NONE);
92+
Composite modelComposite = new Composite(shell, BORDER);
9093

9194
PopulateInputsAdapter modelCompositeInputsAdapter =
9295
new PopulateInputsAdapter() {
@@ -112,7 +115,7 @@ public void populateInputs() {
112115
// Transform Name Row
113116
IDialogComposite tnc = new TransformNameComposite(params.build());
114117

115-
IDialogComposite gsc = new GeneralSettingsComposite(params.control(tnc.control()).build());
118+
IDialogComposite gsc = new GeneralSettingsComposite(params.control(shell).build());
116119

117120
// Model Specific Composite
118121
modelComposite.setLayout(new FormLayout());

plugins/transforms/languagemodelchat/src/main/java/org/apache/hop/pipeline/transforms/languagemodelchat/internals/ui/TransformNameComposite.java

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,15 @@
1818
package org.apache.hop.pipeline.transforms.languagemodelchat.internals.ui;
1919

2020
import static org.apache.hop.pipeline.transforms.languagemodelchat.internals.ui.i18nUtil.i18n;
21+
import static org.apache.hop.ui.core.ConstUi.LARGE_ICON_SIZE;
2122
import static org.apache.hop.ui.core.PropsUi.setLook;
23+
import static org.apache.hop.ui.util.SwtSvgImageUtil.getImage;
2224
import static org.eclipse.swt.SWT.BORDER;
25+
import static org.eclipse.swt.SWT.CENTER;
26+
import static org.eclipse.swt.SWT.HORIZONTAL;
2327
import static org.eclipse.swt.SWT.LEFT;
2428
import static org.eclipse.swt.SWT.RIGHT;
29+
import static org.eclipse.swt.SWT.SEPARATOR;
2530
import static org.eclipse.swt.SWT.SINGLE;
2631

2732
import org.apache.commons.lang3.StringUtils;
@@ -56,14 +61,37 @@ public TransformNameComposite(CompositeParameters parameters) {
5661

5762
inputField.addModifyListener(e -> meta.setChanged());
5863

64+
// Image
65+
var image =
66+
getImage(
67+
parameters.shell().getDisplay(),
68+
getClass().getClassLoader(),
69+
"languagemodelchat.svg",
70+
LARGE_ICON_SIZE,
71+
LARGE_ICON_SIZE);
72+
Label wIcon = new Label(parameters.shell(), RIGHT);
73+
wIcon.setImage(image);
74+
FormData fdlIcon = new FormData();
75+
fdlIcon.top = new FormAttachment(0, 0);
76+
fdlIcon.right = new FormAttachment(100, 0);
77+
wIcon.setLayoutData(fdlIcon);
78+
setLook(wIcon);
79+
5980
FormData fdlTransformName = new FormData();
60-
fdlTransformName.left = new FormAttachment(0, 0);
6181
fdlTransformName.right = new FormAttachment(parameters.middlePct(), -parameters.margin());
62-
fdlTransformName.top = new FormAttachment(0, parameters.margin());
82+
fdlTransformName.bottom = new FormAttachment(wIcon, 0, CENTER);
6383
FormData fdTransformName = new FormData();
64-
fdTransformName.left = new FormAttachment(parameters.middlePct(), 0);
65-
fdTransformName.top = new FormAttachment(0, parameters.margin());
66-
fdTransformName.right = new FormAttachment(100, 0);
84+
fdTransformName.left = new FormAttachment(label, parameters.margin());
85+
fdTransformName.top = new FormAttachment(label, 0, CENTER);
86+
fdTransformName.right = new FormAttachment(wIcon, 0);
87+
88+
// Draw line separator
89+
Label separator = new Label(parameters.shell(), HORIZONTAL | SEPARATOR);
90+
FormData fdSeparator = new FormData();
91+
fdSeparator.left = new FormAttachment(0, 0);
92+
fdSeparator.top = new FormAttachment(wIcon, 0);
93+
fdSeparator.right = new FormAttachment(100, 0);
94+
separator.setLayoutData(fdSeparator);
6795

6896
label.setLayoutData(fdlTransformName);
6997
inputField.setLayoutData(fdTransformName);

plugins/transforms/languagemodelchat/src/main/java/org/apache/hop/pipeline/transforms/languagemodelchat/internals/ui/models/AbstractModelComposite.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ protected AbstractModelComposite(ModelType modelType, CompositeParameters parame
7373
fd.right = new FormAttachment(100, 0);
7474
fd.bottom = new FormAttachment(100, 0);
7575
composite.setLayoutData(fd);
76+
setLook(composite);
7677

7778
control = composite;
7879
layout = buildFormData().margin(parameters.margin());

plugins/transforms/languagemodelchat/src/main/java/org/apache/hop/pipeline/transforms/languagemodelchat/internals/ui/models/AnthropicComposite.java

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ public class AnthropicComposite extends AbstractModelComposite {
4545
private final TextVar topKInput;
4646
private final Label maxTokensLabel;
4747
private final TextVar maxTokensInput;
48-
private final Label stopSequencesLabel;
49-
private final TextVar stopSequencesInput;
50-
private final Label seedLabel;
51-
private final TextVar seedInput;
48+
// TODO private final Label stopSequencesLabel;
49+
// TODO private final TextVar stopSequencesInput;
50+
// TODO private final Label seedLabel;
51+
// TODO private final TextVar seedInput;
5252
private final Label timeoutLabel;
5353
private final TextVar timeoutInput;
5454
private final Label maxRetriesLabel;
@@ -99,16 +99,20 @@ public AnthropicComposite(CompositeParameters parameters) {
9999
prepare("MaxTokens", maxTokensLabel, maxTokensInput);
100100

101101
// Stop Sequences
102+
/*
103+
TODO Implement anthropic Stop sequences
102104
stopSequencesLabel = createLabel();
103105
stopSequencesInput = createTextVar();
104-
stopSequencesLabel.setVisible(false);
105-
stopSequencesInput.setVisible(false);
106-
// TODO prepare("StopSequences", stopSequencesLabel, stopSequencesInput);
106+
prepare("StopSequences", stopSequencesLabel, stopSequencesInput);
107+
*/
107108

108109
// Seed
110+
/*
111+
TODO Implement anthropic seed
109112
seedLabel = createLabel();
110113
seedInput = createTextVar();
111-
// TODO prepare("Seed", seedLabel, seedInput);
114+
prepare("Seed", seedLabel, seedInput);
115+
*/
112116

113117
// Timeout
114118
timeoutLabel = createLabel();
@@ -271,14 +275,6 @@ public TextVar getMaxTokensInput() {
271275
return maxTokensInput;
272276
}
273277

274-
public Label getSeedLabel() {
275-
return seedLabel;
276-
}
277-
278-
public TextVar getSeedInput() {
279-
return seedInput;
280-
}
281-
282278
public Label getTopKLabel() {
283279
return topKLabel;
284280
}
@@ -303,6 +299,8 @@ public TextVar getMaxRetriesInput() {
303299
return maxRetriesInput;
304300
}
305301

302+
/*
303+
TODO Implement Anthropic stop sequences and seed
306304
public Label getStopSequencesLabel() {
307305
return stopSequencesLabel;
308306
}
@@ -311,6 +309,15 @@ public TextVar getStopSequencesInput() {
311309
return stopSequencesInput;
312310
}
313311
312+
public Label getSeedLabel() {
313+
return seedLabel;
314+
}
315+
316+
public TextVar getSeedInput() {
317+
return seedInput;
318+
}
319+
*/
320+
314321
public Button getLogRequestsButton() {
315322
return logRequestsButton;
316323
}

0 commit comments

Comments
 (0)