Skip to content

Commit b9067a5

Browse files
committed
add line numbers and code folding
1 parent 5d8efbd commit b9067a5

File tree

1 file changed

+11
-5
lines changed
  • sierra-tools/previewer/src/main/java/org/httprpc/sierra/tools/previewer

1 file changed

+11
-5
lines changed

sierra-tools/previewer/src/main/java/org/httprpc/sierra/tools/previewer/MainFrame.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
import java.nio.file.StandardOpenOption;
5858
import java.util.concurrent.ExecutionException;
5959
import java.util.function.Consumer;
60+
import org.fife.ui.rtextarea.RTextScrollPane;
6061

6162
/**
6263
* The main application window for the Sierra UI Previewer. UI is defined in
@@ -85,19 +86,21 @@ public class MainFrame extends JFrame implements SearchListener {
8586
private @Outlet JMenuItem exitItem = null;
8687
private @Outlet JMenuItem aboutItem = null;
8788
private @Outlet JSplitPane splitPane = null;
88-
private @Outlet JScrollPane editorScrollPane = null;
8989
private @Outlet JPanel previewPanel = null;
9090
private @Outlet JLabel statusBar = null;
91-
private @Outlet JLabel filePathLabel = null; // The <label> for the file path
91+
private @Outlet JLabel filePathLabel = null;
92+
9293

9394
// --- Manually Created Components ---
9495
private FindDialog findDialog = null;
9596
private ReplaceDialog replaceDialog = null;
9697
private RSyntaxTextArea editorPane = null;
98+
private RTextScrollPane editorScrollPane = null;
99+
97100

98101
public MainFrame() {
99102
super("Sierra UI Previewer");
100-
103+
101104
renderingEngine = new RenderingEngine();
102105
recentFilesManager = new RecentFilesManager(MainFrame.class);
103106

@@ -245,7 +248,7 @@ private void setupCustomEditor() {
245248
editorPane.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_XML);
246249
editorPane.setCodeFoldingEnabled(true);
247250
editorPane.setAntiAliasingEnabled(true);
248-
editorPane.setEditable(true); // Ensure it's editable
251+
editorPane.setEditable(true);
249252

250253
var provider = createCompletionProvider();
251254

@@ -258,8 +261,11 @@ private void setupCustomEditor() {
258261
if (provider != null) {
259262
ac.install(editorPane);
260263
}
264+
editorScrollPane = new RTextScrollPane(editorPane);
265+
editorScrollPane.setLineNumbersEnabled(true);
266+
editorScrollPane.setFoldIndicatorEnabled(true);
267+
splitPane.setLeftComponent(editorScrollPane);
261268

262-
editorScrollPane.setViewportView(editorPane);
263269
}
264270

265271
// -- Extra search/replace functionality

0 commit comments

Comments
 (0)