Skip to content

Update README.md #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 105 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,141 @@
<h1 align="center">NOTEPAD 📓</h1>
Here's an updated README file for your project, **NotePy**, reflecting both the original and the new features based on the provided code:

<h3 align="center"> &mdash; using PYTHON & TKINTER &mdash;</h3>
---

<h1 align="center">NotePy 📓</h1>

<h3 align="center"> &mdash; An Enhanced Version of Notepad Using Python & Tkinter &mdash;</h3>

&nbsp;

## What is Tkinter?

#### 👉 Tkinter is Python's de-facto standard GUI (Graphical User Interface) package.
#### 👉 Tkinter is not the only GuiProgramming toolkit for Python. It is however the most commonly used one.
#### 👉 While Tkinter is not the only GUI toolkit for Python, it is the most commonly used one due to its simplicity and integration with Python.

&nbsp;
## GUI 🧩

#### A GUI (graphical user interface) is a system of interactive visual components for computer software. A GUI displays objects that convey information, and represent actions that can be taken by the user. The objects change color, size, or visibility when the user interacts with them.
## What is NotePy?

NotePy is an upgraded text editor based on the original Notepad project, offering improved functionality and a modern user interface built using Python and Tkinter.

&nbsp;
## WORKING 👷‍♂️

#### ~ After running the program a simple GUI window pops out.
## Features

### Original Features:

1. **New File**: Create a new, untitled document.
2. **Open File**: Open an existing file and load its content into the editor.
3. **Save File**: Save the current document to a file.
4. **Cut**: Cut the selected text.
5. **Copy**: Copy the selected text.
6. **Paste**: Paste text from the clipboard into the document.
7. **View Help**: Access a help page for the Notepad application.

### Newly Added Features:

1. **Font Size Adjustment**: Change the font size of the text in the editor.
2. **Font Style Adjustment**: Change the font style (e.g., Arial, Courier) of the text.
3. **Status Bar**: Displays real-time information about the document:
- Line number and column number of the cursor position
- Word count
- Line endings (e.g., CRLF)
- File encoding (e.g., UTF-8)
4. **Enhanced Find and Replace**: A more interactive dialog for searching and replacing text.

&nbsp;

## GUI Overview 🧩

#### A GUI (Graphical User Interface) allows users to interact with software through visual components such as buttons, text fields, and menus. These components enable users to perform actions and view information in an interactive manner.

&nbsp;

## How It Works 👷‍♂️

#### ~ When you run the program, a user-friendly GUI window will appear.

<p align="center">
<img src="https://github.com/pratyushjain122/notepad-python/blob/master/Extra/Main.png" alt="main page" width=500px >
<img src="https://github.com/pratyushjain122/notepad-python/blob/master/Extra/Main.png" alt="Main Page" width=500px >
</p>

#### ~ You can write anything like any normal notepad here.
#### ~ You can write text just like you would in any standard notepad application.

&nbsp;
### ~ This is the File Menu 👇

### File Menu 👇

<br>
<img src="https://github.com/pratyushjain122/notepad-python/blob/master/Extra/File%20Menu.png" alt="File Menu">

#### ~ In this window you can create a 'New' file, 'Open' an existing file or 'Save' the current file. You can also Exit the current window.
#### ~ The File Menu allows you to create a 'New' file, 'Open' an existing file, 'Save' the current file, or 'Exit' the application.

<hr>

&nbsp;

### ~ This is the Edit Menu 👇
### Edit Menu 👇

<br>
<img src="https://github.com/pratyushjain122/notepad-python/blob/master/Extra/Edit%20Menu.png" alt="Edit Menu">

#### ~ In this window you can 'Cut' , 'Copy' or 'Paste' the content from or into the current file.
#### ~ The Edit Menu provides options to 'Cut', 'Copy', 'Paste', 'Undo', 'Redo', 'Find', and 'Replace' text within the current file.

&nbsp;

### Format Menu 👇

#### ~ The Format Menu allows you to adjust the 'Font Size' and 'Font Style' of the text in the editor.

&nbsp;

### Help Menu 👇

#### ~ The Help Menu provides an 'About NotePy' option to learn more about the application and its creator.

&nbsp;

## Contributors👨‍💻
## How to Use

1. **Run the Application**: Execute the script to open the NotePy editor.
2. **Create or Open Files**: Use the File Menu to create a new document or open an existing one.
3. **Edit Text**: Utilize the Edit Menu for common text editing operations.
4. **Adjust Formatting**: Access the Format Menu to change text size and style.
5. **Find and Replace**: Use the Find and Replace dialog to search and replace text.
6. **Check Status**: Monitor the status bar for information about your document.

&nbsp;

## Code Overview

Here's a summary of the main functionalities implemented in the code:

- **Window Initialization**: Configures the main application window, including size, title, and center alignment.
- **Menu Setup**: Creates menus for file operations, text editing, formatting, and help.
- **Text Area**: Provides a resizable text area with vertical scrolling.
- **File Operations**:
- **New File**: Clears the current text area and resets the file name.
- **Open File**: Opens a file dialog to load content into the editor.
- **Save File**: Saves the current content to a file, with options to specify the file name and location.
- **Text Editing**:
- **Cut, Copy, Paste**: Standard text editing operations.
- **Undo, Redo**: Reverses or re-applies recent text changes.
- **Find and Replace**: Searches for text and replaces it interactively.
- **Formatting**:
- **Font Size and Style**: Adjusts the appearance of text.
- **Status Bar**: Displays real-time document information.

&nbsp;

## Contributors 👨‍💻

<ul>
<li><a href="https://github.com/pratyushjain122">Pratyush Jain</a></li>
<li><a href="https://github.com/mansharamani-rahul">Rahul Mansharamani</a></li>
<li><a href="https://github.com/longdo">Long Do</a></li>
</ul>

---

Feel free to adjust the contributor section as necessary and ensure that all URLs and details are accurate for your specific context.