├── docs
├── images
│ ├── run.png
│ ├── compile.png
│ ├── runPy.png
│ ├── EadgythIcon.png
│ ├── opensettings.png
│ ├── ExampleProject.png
│ ├── GrayBackground.png
│ ├── opensettingsPy.png
│ ├── SimpleEditorView.png
│ ├── projectsettings.png
│ ├── projectsettingsPy.png
│ ├── DarkBlueBackground.png
│ └── DarkGrayBackground.png
├── _config.yml
├── help
│ └── styles.css
└── index.md
├── src
└── eg
│ ├── syntax
│ ├── PHPHighlighter.java
│ ├── PerlHighlighter.java
│ ├── CSharpHighlighter.java
│ ├── XMLHighlighter.java
│ ├── HTMLHighlighter.java
│ ├── HeredocSearch.java
│ ├── RHighlighter.java
│ ├── QuoteOperatorSearch.java
│ ├── PythonHighlighter.java
│ ├── JavascriptHighlighter.java
│ ├── SyntaxHighlighter.java
│ ├── Highlighter.java
│ ├── JavaHighlighter.java
│ ├── StringMap.java
│ ├── SyntaxConstants.java
│ └── CSSHighlighter.java
│ ├── ui
│ ├── icons
│ │ ├── EadIcons
│ │ │ ├── large
│ │ │ │ ├── run.png
│ │ │ │ ├── compile.png
│ │ │ │ ├── enterCMD.png
│ │ │ │ ├── runCons.png
│ │ │ │ ├── changeProj.png
│ │ │ │ └── EadgythIcon.png
│ │ │ └── small
│ │ │ │ ├── run.png
│ │ │ │ ├── compile.png
│ │ │ │ ├── enterCMD.png
│ │ │ │ ├── runCons.png
│ │ │ │ ├── changeProj.png
│ │ │ │ └── EadgythIcon.png
│ │ └── Tango
│ │ │ ├── large
│ │ │ ├── edit-cut.png
│ │ │ ├── edit-clear.png
│ │ │ ├── edit-copy.png
│ │ │ ├── edit-paste.png
│ │ │ ├── edit-redo.png
│ │ │ ├── edit-undo.png
│ │ │ ├── dialog-error.png
│ │ │ ├── document-open.png
│ │ │ ├── document-save.png
│ │ │ ├── process-stop.png
│ │ │ ├── view-refresh.png
│ │ │ ├── dialog-warning.png
│ │ │ ├── document-close.png
│ │ │ ├── dialog-information.png
│ │ │ ├── format-indent-less.png
│ │ │ └── format-indent-more.png
│ │ │ └── small
│ │ │ ├── edit-cut.png
│ │ │ ├── edit-clear.png
│ │ │ ├── edit-copy.png
│ │ │ ├── edit-paste.png
│ │ │ ├── edit-redo.png
│ │ │ ├── edit-undo.png
│ │ │ ├── folder-new.png
│ │ │ ├── dialog-error.png
│ │ │ ├── document-open.png
│ │ │ ├── document-save.png
│ │ │ ├── process-stop.png
│ │ │ ├── view-refresh.png
│ │ │ ├── dialog-warning.png
│ │ │ ├── document-close.png
│ │ │ ├── dialog-information.png
│ │ │ ├── format-indent-less.png
│ │ │ └── format-indent-more.png
│ ├── tabpane
│ │ ├── TabClosing.java
│ │ ├── ExtTabbedPaneUI.java
│ │ └── ExtTabbedPane.java
│ ├── IconBuilder.java
│ ├── menu
│ │ ├── HelpMenu.java
│ │ ├── FormatMenu.java
│ │ ├── LanguageMenu.java
│ │ ├── MenuBar.java
│ │ ├── FileMenu.java
│ │ └── ViewMenu.java
│ ├── EditToolPanel.java
│ ├── ConsolePanel.java
│ ├── filetree
│ │ ├── PopupMenu.java
│ │ └── TreePanel.java
│ ├── IconFiles.java
│ ├── InfoWin.java
│ ├── StatusBar.java
│ ├── ToolBar.java
│ └── FontSettingWin.java
│ ├── FileOpener.java
│ ├── LanguageChanger.java
│ ├── document
│ ├── TextChange.java
│ ├── EditingStateReadable.java
│ ├── styledtext
│ │ ├── PrintableText.java
│ │ ├── StyledText.java
│ │ ├── Attributes.java
│ │ └── EditableText.java
│ ├── LineNumbers.java
│ └── CurrentLanguage.java
│ ├── FunctionalAction.java
│ ├── edittools
│ ├── EditTools.java
│ └── AddableEditTool.java
│ ├── projects
│ ├── ProjectTypes.java
│ ├── ProjectCommands.java
│ ├── ProjectSelector.java
│ ├── GenericProject.java
│ ├── HtmlProject.java
│ ├── RProject.java
│ ├── PythonProject.java
│ ├── PerlProject.java
│ └── Configurable.java
│ ├── Languages.java
│ ├── BusyFunction.java
│ ├── utils
│ ├── SystemParams.java
│ ├── FileUtils.java
│ ├── LinesFinder.java
│ ├── Dialogs.java
│ └── ScreenParams.java
│ ├── javatools
│ ├── FilesFinder.java
│ ├── Libraries.java
│ └── LibModules.java
│ ├── Eadgyth.java
│ ├── ViewSetter.java
│ ├── TaskRunner.java
│ └── FileChooser.java
├── .gitattributes
├── LICENSE
└── README.md
/docs/images/run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/run.png
--------------------------------------------------------------------------------
/docs/images/compile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/compile.png
--------------------------------------------------------------------------------
/docs/images/runPy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/runPy.png
--------------------------------------------------------------------------------
/docs/images/EadgythIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/EadgythIcon.png
--------------------------------------------------------------------------------
/docs/images/opensettings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/opensettings.png
--------------------------------------------------------------------------------
/docs/images/ExampleProject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/ExampleProject.png
--------------------------------------------------------------------------------
/docs/images/GrayBackground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/GrayBackground.png
--------------------------------------------------------------------------------
/docs/images/opensettingsPy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/opensettingsPy.png
--------------------------------------------------------------------------------
/docs/images/SimpleEditorView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/SimpleEditorView.png
--------------------------------------------------------------------------------
/docs/images/projectsettings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/projectsettings.png
--------------------------------------------------------------------------------
/docs/images/projectsettingsPy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/projectsettingsPy.png
--------------------------------------------------------------------------------
/src/eg/syntax/PHPHighlighter.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/syntax/PHPHighlighter.java
--------------------------------------------------------------------------------
/docs/images/DarkBlueBackground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/DarkBlueBackground.png
--------------------------------------------------------------------------------
/docs/images/DarkGrayBackground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/docs/images/DarkGrayBackground.png
--------------------------------------------------------------------------------
/src/eg/syntax/PerlHighlighter.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/syntax/PerlHighlighter.java
--------------------------------------------------------------------------------
/src/eg/syntax/CSharpHighlighter.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/syntax/CSharpHighlighter.java
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/large/run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/large/run.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/small/run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/small/run.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/edit-cut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/edit-cut.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/edit-cut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/edit-cut.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/large/compile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/large/compile.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/large/enterCMD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/large/enterCMD.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/large/runCons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/large/runCons.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/small/compile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/small/compile.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/small/enterCMD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/small/enterCMD.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/small/runCons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/small/runCons.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/edit-clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/edit-clear.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/edit-copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/edit-copy.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/edit-paste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/edit-paste.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/edit-redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/edit-redo.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/edit-undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/edit-undo.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/edit-clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/edit-clear.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/edit-copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/edit-copy.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/edit-paste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/edit-paste.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/edit-redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/edit-redo.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/edit-undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/edit-undo.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/folder-new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/folder-new.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/large/changeProj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/large/changeProj.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/small/changeProj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/small/changeProj.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/dialog-error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/dialog-error.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/document-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/document-open.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/document-save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/document-save.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/process-stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/process-stop.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/view-refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/view-refresh.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/dialog-error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/dialog-error.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/document-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/document-open.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/document-save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/document-save.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/process-stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/process-stop.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/view-refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/view-refresh.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/large/EadgythIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/large/EadgythIcon.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/EadIcons/small/EadgythIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/EadIcons/small/EadgythIcon.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/dialog-warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/dialog-warning.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/document-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/document-close.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/dialog-warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/dialog-warning.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/document-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/document-close.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/dialog-information.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/dialog-information.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/format-indent-less.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/format-indent-less.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/large/format-indent-more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/large/format-indent-more.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/dialog-information.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/dialog-information.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/format-indent-less.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/format-indent-less.png
--------------------------------------------------------------------------------
/src/eg/ui/icons/Tango/small/format-indent-more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eadgyth/Programming-Editor/HEAD/src/eg/ui/icons/Tango/small/format-indent-more.png
--------------------------------------------------------------------------------
/docs/_config.yml:
--------------------------------------------------------------------------------
1 | plugins:
2 | - jekyll-seo-tag
3 | theme: jekyll-theme-slate
4 | title: Eadgyth Programming Editor
5 | description: A text editor and basic code editor written in Java. Write and run code in Java, C#, Perl, Python, R or HTML
6 |
--------------------------------------------------------------------------------
/src/eg/FileOpener.java:
--------------------------------------------------------------------------------
1 | package eg;
2 |
3 | import java.io.File;
4 |
5 | /**
6 | * The interface to open a file
7 | */
8 | @FunctionalInterface
9 | public interface FileOpener {
10 |
11 | /**
12 | * Opens a file
13 | *
14 | * @param f the file
15 | */
16 | public void open(File f);
17 | }
18 |
--------------------------------------------------------------------------------
/src/eg/LanguageChanger.java:
--------------------------------------------------------------------------------
1 | package eg;
2 |
3 | /**
4 | * The interface to change the language
5 | */
6 | @FunctionalInterface
7 | public interface LanguageChanger {
8 |
9 | /**
10 | * Changes the language
11 | *
12 | * @param lang a language in {@link Languages}
13 | */
14 | public void change(Languages lang);
15 | }
16 |
--------------------------------------------------------------------------------
/src/eg/document/TextChange.java:
--------------------------------------------------------------------------------
1 | package eg.document;
2 |
3 | /**
4 | * The interface for controlling the updating done in
5 | * EditorUpdating for possibly multiline text changes
6 | */
7 | @FunctionalInterface
8 | public interface TextChange {
9 |
10 | /**
11 | * Makes a text change
12 | */
13 | public void edit();
14 | }
15 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/src/eg/ui/tabpane/TabClosing.java:
--------------------------------------------------------------------------------
1 | package eg.ui.tabpane;
2 |
3 | /**
4 | * The interface to close a tab at a given index. The
5 | * implementation checks if closing is possible and calls
6 | * JTabbedPane.removeTabAt(int) as needed
7 | */
8 | @FunctionalInterface
9 | public interface TabClosing {
10 |
11 | /**
12 | * Closes a tab at the specified index if closing is
13 | * possible
14 | *
15 | * @param index the index
16 | */
17 | public void close(int index);
18 | }
19 |
--------------------------------------------------------------------------------
/src/eg/ui/IconBuilder.java:
--------------------------------------------------------------------------------
1 | package eg.ui;
2 |
3 | import javax.swing.ImageIcon;
4 | import java.net.URL;
5 |
6 | /**
7 | * The creation of an icon
8 | */
9 | public class IconBuilder {
10 |
11 | /**
12 | * Creates an ImageIcon
13 | *
14 | * @param path the path of the file that contains the icon
15 | * @return ImageIcon
16 | */
17 | public ImageIcon createIcon(String path) {
18 | URL imgURL = getClass().getResource(path);
19 | if (imgURL != null) {
20 | return new ImageIcon(imgURL);
21 | }
22 | else {
23 | throw new IllegalArgumentException(
24 | "No image file was found in the specified path");
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/eg/syntax/XMLHighlighter.java:
--------------------------------------------------------------------------------
1 | package eg.syntax;
2 |
3 | import eg.document.styledtext.Attributes;
4 |
5 | /**
6 | * Syntax highlighting for xml
7 | */
8 | public class XMLHighlighter implements Highlighter {
9 |
10 | @Override
11 | public void highlight(SyntaxSearcher s, Attributes attr) {
12 | s.setMarkupSection();
13 | s.resetAttributes();
14 | s.markup(false);
15 | }
16 |
17 | @Override
18 | public boolean isValid(String text, int pos, int condition) {
19 | return true;
20 | }
21 |
22 | @Override
23 | public int behindLineCmntMark(String text, int pos) {
24 | return -1;
25 | }
26 |
27 | @Override
28 | public int inBlockCmntMarks(String text, int pos) {
29 | return -1;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/eg/FunctionalAction.java:
--------------------------------------------------------------------------------
1 | package eg;
2 |
3 | import java.awt.event.ActionListener;
4 |
5 | import java.awt.event.ActionEvent;
6 | import javax.swing.AbstractAction;
7 | import javax.swing.Icon;
8 |
9 | /**
10 | * The action whose actionPerformed method uses
11 | * the ActionListener specified in the constructor
12 | */
13 | @SuppressWarnings("serial")
14 | public class FunctionalAction extends AbstractAction {
15 |
16 | private final transient ActionListener al;
17 |
18 | /**
19 | * @param name the name for the action, null to ignore
20 | * @param icon the icon for the control, null to ignore
21 | * @param al the ActionListener
22 | */
23 | public FunctionalAction(String name, Icon icon, ActionListener al) {
24 | super(name, icon);
25 | this.al = al;
26 | }
27 |
28 | @Override
29 | public void actionPerformed(ActionEvent e) {
30 | al.actionPerformed(e);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/eg/edittools/EditTools.java:
--------------------------------------------------------------------------------
1 | package eg.edittools;
2 |
3 | /**
4 | * Constants that identify implementations of AddableEditTool
5 | */
6 | public enum EditTools {
7 |
8 | FINDER("Find/replace", "Finder"),
9 | EXCHANGE_EDITOR("Notes", "ExchangeEditor");
10 |
11 | private final String display;
12 | private final String className;
13 |
14 | /**
15 | * Returns the display value associated with this constants
16 | *
17 | * @return the display value
18 | */
19 | public String display() {
20 | return display;
21 | }
22 |
23 | /**
24 | * Returns, for this constants, the name of the classes that implement
25 | * AddableEditTool
26 | *
27 | * @return the class name
28 | */
29 | public String className() {
30 | return className;
31 | }
32 |
33 | //
34 | //--private--/
35 | //
36 |
37 | private EditTools(String display, String className) {
38 | this.display = display;
39 | this.className = className;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Malte Bussiek
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/eg/syntax/HTMLHighlighter.java:
--------------------------------------------------------------------------------
1 | package eg.syntax;
2 |
3 | import eg.document.styledtext.Attributes;
4 |
5 | /**
6 | * Syntax highlighting for HTML (or PHP)
7 | */
8 | public class HTMLHighlighter implements Highlighter {
9 |
10 | private final JavascriptHighlighter js = new JavascriptHighlighter();
11 | private final CSSHighlighter css = new CSSHighlighter();
12 | private final PHPHighlighter php = new PHPHighlighter();
13 |
14 | @Override
15 | public void highlight(SyntaxSearcher s, Attributes attr) {
16 | s.setMarkupSection();
17 | s.resetAttributes();
18 | s.markup(true);
19 | s.innerSections("