diff --git a/.gitignore b/.gitignore
index 524f096..ce8e466 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,12 @@
-# Compiled class file
+# Compiled class files
*.class
-# Log file
+# Log files
*.log
+# IML files
+*.iml
+
# BlueJ files
*.ctxt
@@ -22,3 +25,13 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*
+
+# Intellij Idea
+out/
+
+# Visual Studio Code
+.vscode/
+
+# Eclipse
+*.classpath
+*.project
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/artifacts/Indev_1_0.xml b/.idea/artifacts/Indev_1_0.xml
new file mode 100644
index 0000000..39ea8f3
--- /dev/null
+++ b/.idea/artifacts/Indev_1_0.xml
@@ -0,0 +1,8 @@
+
+
+ $PROJECT_DIR$/out/artifacts/Indev_1_0
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..6f29fee
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..e9f4691
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..161feed
--- /dev/null
+++ b/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: src.ExmlEditor
+
diff --git a/ReadMe.md b/ReadMe.md
index bc1727c..7295e86 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -1,17 +1,7 @@
-# TextEditor (java) Modifications
+# Update V1.0.0
-This is a simple text editor. Using it as a starting point, it needs a bunch of functionality additions.
+Updating [ZCW-Java91 project](https://github.com/ZCW-Java91/TextEditor-Java)
-## Additions
+V1.0.0
-Things to add:
-
-- find/replace text implementation
-- when you exit, you must NOT lose un-saved changes
-- add a new window, scrollable, with some editor help documentation in it.
-- implement Word Wrap (yeah, look it up)
-- add a font panel, so you can change the font you edit in.
- - make sure not only new files are in th enew font, but existing windows too.
-- add a way to print the current file.
-- add a way to set the page in portrait or landscape mode
-- Make your About Dialog snazzy!
+My very first notepad in java
\ No newline at end of file
diff --git a/TextEditor-Java.iml b/TextEditor-Java.iml
new file mode 100644
index 0000000..b107a2d
--- /dev/null
+++ b/TextEditor-Java.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/changelog.md b/changelog.md
new file mode 100644
index 0000000..74d6c41
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,4 @@
+Rewriting code from start
+
+Adding unachieved features :
+-
\ No newline at end of file
diff --git a/out/production/TextEditor-Java/.gitignore b/out/production/TextEditor-Java/.gitignore
new file mode 100644
index 0000000..ce8e466
--- /dev/null
+++ b/out/production/TextEditor-Java/.gitignore
@@ -0,0 +1,37 @@
+# Compiled class files
+*.class
+
+# Log files
+*.log
+
+# IML files
+*.iml
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+replay_pid*
+
+# Intellij Idea
+out/
+
+# Visual Studio Code
+.vscode/
+
+# Eclipse
+*.classpath
+*.project
\ No newline at end of file
diff --git a/out/production/TextEditor-Java/.idea/.gitignore b/out/production/TextEditor-Java/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/out/production/TextEditor-Java/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/out/production/TextEditor-Java/.idea/misc.xml b/out/production/TextEditor-Java/.idea/misc.xml
new file mode 100644
index 0000000..6f29fee
--- /dev/null
+++ b/out/production/TextEditor-Java/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/out/production/TextEditor-Java/.idea/modules.xml b/out/production/TextEditor-Java/.idea/modules.xml
new file mode 100644
index 0000000..e9f4691
--- /dev/null
+++ b/out/production/TextEditor-Java/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/out/production/TextEditor-Java/.idea/uiDesigner.xml b/out/production/TextEditor-Java/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/out/production/TextEditor-Java/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/out/production/TextEditor-Java/.idea/vcs.xml b/out/production/TextEditor-Java/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/out/production/TextEditor-Java/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/out/production/TextEditor-Java/ReadMe.md b/out/production/TextEditor-Java/ReadMe.md
new file mode 100644
index 0000000..1cbda50
--- /dev/null
+++ b/out/production/TextEditor-Java/ReadMe.md
@@ -0,0 +1,8 @@
+# Update alpha 1.0
+
+I modify a lot on your project, the code is kinda... mess but i'll try to update it sometimes. I wrote the code from the beginning by reprogramming the editor you already did.
+
+I added a lot of features, here a complete list of them :
+
+- New
+-
diff --git a/out/production/TextEditor-Java/TextEditor-Java.iml b/out/production/TextEditor-Java/TextEditor-Java.iml
new file mode 100644
index 0000000..b107a2d
--- /dev/null
+++ b/out/production/TextEditor-Java/TextEditor-Java.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/CustomKeyListener.java b/src/CustomKeyListener.java
new file mode 100644
index 0000000..8852053
--- /dev/null
+++ b/src/CustomKeyListener.java
@@ -0,0 +1,55 @@
+package src;
+
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+
+public class CustomKeyListener implements KeyListener {
+ private final ExmlEditor window;
+ private boolean flagA = false;
+
+ public CustomKeyListener(ExmlEditor window) {
+ this.window = window;
+ }
+
+ @Override
+ public void keyTyped(KeyEvent e) {
+ if (!window.isFileSaved()) {
+ if (!flagA) {
+ window.setTitle(window.getTitle() + "*");
+ flagA = true;
+ }
+ } else {
+ if (window.getOpenedFile() == null) {
+ window.setTitle("Notepad - Untitled");
+ } else {
+ window.setTitle("Notepad - " + window.getOpenedFile().getName());
+ }
+ flagA = false;
+ }
+ }
+
+ @Override
+ public void keyPressed(KeyEvent e) {
+ }
+
+ @Override
+ public void keyReleased(KeyEvent e) {
+ if (!window.isFileSaved()) {
+ if (!flagA) {
+ window.setTitle(window.getTitle() + "*");
+ flagA = true;
+ }
+ } else {
+ if (window.getOpenedFile() == null) {
+ window.setTitle("Notepad - Untitled");
+ } else {
+ window.setTitle("Notepad - " + window.getOpenedFile().getName());
+ }
+ flagA = false;
+ }
+
+ if (e.getKeyCode() == KeyEvent.VK_SPACE || e.getKeyCode() == KeyEvent.VK_ENTER || e.getKeyCode() == KeyEvent.VK_COMMA || e.getKeyCode() == KeyEvent.VK_PERIOD) {
+ window.AppendText();
+ }
+ }
+}
diff --git a/src/CustomMenuBar.java b/src/CustomMenuBar.java
new file mode 100644
index 0000000..ac70378
--- /dev/null
+++ b/src/CustomMenuBar.java
@@ -0,0 +1,412 @@
+package src;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
+import java.util.Objects;
+
+public class CustomMenuBar extends MenuBar {
+ public CustomMenuBar(ExmlEditor parent) {
+ Menu filemenu = new Menu("File");
+ MenuComponent[] filemenuitems = {new MenuItem("New", new MenuShortcut(KeyEvent.VK_N, false)), new MenuItem("New window"), new MenuSpace(),new MenuItem("Open", new MenuShortcut(KeyEvent.VK_O, false)), new MenuItem("Save", new MenuShortcut(KeyEvent.VK_S, false)), new MenuItem("Save as", new MenuShortcut(KeyEvent.VK_S, true)), new MenuItem("Print"), new MenuItem("Close window", new MenuShortcut(KeyEvent.VK_F4, true)), new MenuSpace(), new MenuItem("Exit", new MenuShortcut(KeyEvent.VK_F4, false))};
+ Menu editmenu = new Menu("Edit");
+ MenuComponent[] editmenuitems = {new MenuItem("Undo", new MenuShortcut(KeyEvent.VK_Z, false)), new MenuItem("Redo", new MenuShortcut(KeyEvent.VK_Y, false)), new MenuSpace(),new MenuItem("Copy", new MenuShortcut(KeyEvent.VK_C, false)), new MenuItem("Cut", new MenuShortcut(KeyEvent.VK_X, false)), new MenuItem("Paste", new MenuShortcut(KeyEvent.VK_V, false)), new MenuItem("Delete", new MenuShortcut(KeyEvent.VK_DELETE, false)), new MenuSpace(), new MenuItem("Insert here"), new MenuItem("Insert values"), new MenuSpace(), new MenuItem("Replace", new MenuShortcut(KeyEvent.VK_R, false))};
+ Menu selectionmenu = new Menu("Selection");
+ MenuComponent[] selectionmenuitems = {new MenuItem("Select All", new MenuShortcut(KeyEvent.VK_A, false)), new MenuSpace(), new MenuItem("Copy line up"), new MenuItem("Copy line down"), new MenuItem("Duplicate line")};
+ Menu appearancemenu = new Menu("Appearance");
+ MenuComponent[] appearancemenuitems = {new MenuItem("Background color"), new MenuItem("Font color"), new CheckboxMenuItem("Title bar", true)};
+ Menu helpmenu = new Menu("Help");
+ MenuComponent[] helpmenuitems = {new MenuItem("About creator"), new MenuItem("About the project"), new MenuItem("Report issues")};
+ for (MenuComponent menuComponent : filemenuitems) {
+ if (menuComponent instanceof MenuSpace) {
+ filemenu.addSeparator();
+ } else if (menuComponent instanceof MenuItem) {
+ filemenu.add((MenuItem) menuComponent);
+ ((MenuItem) menuComponent).addActionListener(new CustomActionListener