Skip to content

Commit 85f381d

Browse files
authored
Merge pull request #123 from kdbinsidebrains/charting
Charting
2 parents 00f3fc6 + b45654f commit 85f381d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1705
-1238
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,18 @@
11
# KdbInsideBrains Changelog
22

3+
## [6.1.0]
4+
5+
### Changed
6+
7+
- Charting View tools redesigned:
8+
- Crosshair tool supports multiple range axes as well as candlestick
9+
- Values tools supports candlestick
10+
- Enabled tools stored in new optimized format
11+
12+
### Fixed
13+
14+
- #122: QSpec configurable can't be created
15+
316
## [6.0.1]
417

518
### Fixed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ pluginJavaVersion=17
1414
#pluginVerifierVersions=2022.3, 2022.3.3, 2023.3.7, 2024.1.5, 2024.3
1515
pluginVerifierVersions=2022.3, 2023.3, 2024.3.5, 2025.1
1616
platformType=IC
17-
#platformVersion=251.14649-EAP-CANDIDATE-SNAPSHOT
17+
#platformVersion=251.1
1818
#platformPlugins=java, PsiViewer:251.175
1919
platformVersion=2024.3.5
2020
platformPlugins=java, PsiViewer:243.7768

src/main/java/org/kdb/inside/brains/lang/qspec/QSpecConfigurable.java

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,12 @@
88
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
99
import com.intellij.openapi.util.text.StringUtil;
1010
import com.intellij.openapi.vfs.VfsUtil;
11-
import com.intellij.openapi.wm.WindowManager;
1211
import org.apache.commons.io.FilenameUtils;
1312
import org.jetbrains.annotations.Nullable;
1413
import org.kdb.inside.brains.UIUtils;
1514
import org.kdb.inside.brains.settings.KdbConfigurable;
1615

1716
import javax.swing.*;
18-
import java.awt.*;
1917

2018
import static com.intellij.openapi.util.text.StringUtil.notNullize;
2119

@@ -32,7 +30,7 @@ public class QSpecConfigurable extends KdbConfigurable {
3230

3331
protected QSpecConfigurable() {
3432
super(SETTINGS_PAGE_ID, "QSpec Framework");
35-
init(guessActiveProject());
33+
init(ProjectManager.getInstance().getDefaultProject());
3634
}
3735

3836
public JComponent init(@Nullable Project project) {
@@ -91,17 +89,6 @@ public void reset() {
9189
customScriptPanel.setText(libraryService.getCustomScript());
9290
}
9391

94-
private Project guessActiveProject() {
95-
Project[] projects = ProjectManager.getInstance().getOpenProjects();
96-
for (Project project : projects) {
97-
Window window = WindowManager.getInstance().suggestParentWindow(project);
98-
if (window != null && window.isActive()) {
99-
return project;
100-
}
101-
}
102-
return null;
103-
}
104-
10592
public static void showConfigurable(Project project) {
10693
// Safe model change here
10794
ShowSettingsUtil.getInstance().showSettingsDialog(project, QSpecConfigurable.class);

src/main/java/org/kdb/inside/brains/view/chart/BaseChartPanel.java

Lines changed: 0 additions & 194 deletions
This file was deleted.

src/main/java/org/kdb/inside/brains/view/chart/ChartActionGroup.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,6 @@ public void actionPerformed(@NotNull AnActionEvent e) {
4040
this.emptyActionsGroup = new AnAction[]{showTemplatesManager};
4141
}
4242

43-
@Override
44-
public void actionPerformed(@NotNull AnActionEvent e) {
45-
super.actionPerformed(e);
46-
}
47-
4843
@Override
4944
public AnAction @NotNull [] getChildren(@Nullable AnActionEvent e) {
5045
final TableResult tableResult = resultSupplier.get();

src/main/java/org/kdb/inside/brains/view/chart/ChartColors.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ private ChartColors() {
2828
.map(s -> s.replace("#", "0x").trim())
2929
.map(Color::decode)
3030
.toArray(Color[]::new);
31+
3132
private static final String colorsMatrixChatOriginal = """
3233
#3366cc #dc3912 #ff9900 #109618 #990099 #0099c6 #dd4477
3334
#66aa00 #b82e2e #316395 #994499 #22aa99 #aaaa11 #6633cc

src/main/java/org/kdb/inside/brains/view/chart/ColumnDefinition.java renamed to src/main/java/org/kdb/inside/brains/view/chart/ChartColumn.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,28 @@
1010
import java.awt.*;
1111
import java.util.Set;
1212

13-
public record ColumnDefinition(String name, KdbType type) {
13+
public record ChartColumn(String name, KdbType type) {
1414
static final Set<KdbType> SYMBOL_TYPES = Set.of(KdbType.SYMBOL, KdbType.CHAR, KdbType.CHAR_LIST);
1515

1616
static final Set<KdbType> NUMBER_TYPES = Set.of(KdbType.BYTE, KdbType.SHORT, KdbType.INT, KdbType.LONG, KdbType.REAL, KdbType.FLOAT);
1717

1818
static final Set<KdbType> TEMPORAL_TYPES = Set.of(KdbType.SECOND, KdbType.MINUTE, KdbType.MONTH, KdbType.TIME, KdbType.DATE, KdbType.DATETIME, KdbType.TIMESPAN, KdbType.TIMESTAMP);
1919

20-
public ColumnDefinition(QTableModel.QColumnInfo info) {
20+
public ChartColumn(QTableModel.QColumnInfo info) {
2121
this(info.getName(), KdbType.typeOf(info.getColumnClass()));
2222
}
2323

2424
public String getLabel() {
2525
return "<html>" + name + " <font color=\"gray\">(" + type.getTypeName().toLowerCase() + ")</font></html>";
2626
}
2727

28-
public static ColumnDefinition restore(Element element) {
28+
public static ChartColumn restore(Element element) {
2929
if (element == null) {
3030
return null;
3131
}
3232
final String name = element.getAttributeValue("name");
3333
final KdbType type = KdbType.typeOf(element.getAttributeValue("type").charAt(0));
34-
return new ColumnDefinition(name, type);
34+
return new ChartColumn(name, type);
3535
}
3636

3737
public static boolean isSymbol(KdbType type) {
@@ -50,7 +50,7 @@ public static TableCellRenderer createTableCellRenderer() {
5050
return new DefaultTableCellRenderer() {
5151
@Override
5252
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
53-
final ColumnDefinition cc = (ColumnDefinition) value;
53+
final ChartColumn cc = (ChartColumn) value;
5454
return super.getTableCellRendererComponent(table, cc == null ? null : cc.getLabel(), isSelected, hasFocus, row, column);
5555
}
5656
};
@@ -60,7 +60,7 @@ public static ListCellRenderer<Object> createListCellRenderer() {
6060
return new DefaultListCellRenderer() {
6161
@Override
6262
public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
63-
final ColumnDefinition cc = (ColumnDefinition) value;
63+
final ChartColumn cc = (ChartColumn) value;
6464
return super.getListCellRendererComponent(list, cc == null ? null : cc.getLabel(), index, isSelected, cellHasFocus);
6565
}
6666
};

src/main/java/org/kdb/inside/brains/view/chart/ChartConfig.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,23 @@
88
import java.util.List;
99

1010
public interface ChartConfig {
11-
ChartType getChartType();
11+
boolean isInvalid();
1212

1313

1414
KdbType getDomainType();
1515

16-
List<ColumnDefinition> getRequiredColumns();
17-
18-
19-
boolean isInvalid();
16+
ChartType getChartType();
2017

2118

2219
Element store();
2320

2421
String toHumanString();
2522

2623

24+
List<ChartColumn> getRequiredColumns();
25+
26+
2727
default boolean isApplicable(ChartDataProvider dataProvider) {
2828
return new HashSet<>(dataProvider.getColumns()).containsAll(getRequiredColumns());
2929
}
30-
}
30+
}

src/main/java/org/kdb/inside/brains/view/chart/ChartViewListener.java renamed to src/main/java/org/kdb/inside/brains/view/chart/ChartConfigListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package org.kdb.inside.brains.view.chart;
22

3-
public interface ChartViewListener {
3+
public interface ChartConfigListener {
44
void configChanged();
55
}

0 commit comments

Comments
 (0)