# -*- coding: utf-8 -*-
"""Khalid AlHarbi-Hard Project (3rd).ipynb

Automatically generated by Colaboratory.

Original file is located at
    https://colab.research.google.com/drive/1yHHLxqBUi6_ssGP5bDmEHjQWqQU266N0
"""

import tkinter as tk
from tkinter import messagebox

class NoteTakingApp:
    def __init__(self, master):
        self.master = master
        self.master.title("Note Taking App")

        self.notes = []

        self.create_widgets()

    def create_widgets(self):
        self.title_label = tk.Label(self.master, text="Title:")
        self.title_label.grid(row=0, column=0, sticky="w", padx=5, pady=5)

        self.title_entry = tk.Entry(self.master)
        self.title_entry.grid(row=0, column=1, columnspan=2, sticky="ew", padx=5, pady=5)

        self.content_label = tk.Label(self.master, text="Content:")
        self.content_label.grid(row=1, column=0, sticky="nw", padx=5, pady=5)

        self.content_text = tk.Text(self.master, height=10, width=40)
        self.content_text.grid(row=1, column=1, columnspan=2, sticky="ew", padx=5, pady=5)

        self.save_button = tk.Button(self.master, text="Save", command=self.save_note)
        self.save_button.grid(row=2, column=1, sticky="ew", padx=5, pady=5)

        self.display_button = tk.Button(self.master, text="Display Notes", command=self.display_notes)
        self.display_button.grid(row=2, column=2, sticky="ew", padx=5, pady=5)

    def save_note(self):
        title = self.title_entry.get()
        content = self.content_text.get("1.0", tk.END)
        self.notes.append({"title": title, "content": content})
        messagebox.showinfo("Note Saved", "Your note has been saved.")

    def display_notes(self):
        if not self.notes:
            messagebox.showinfo("No Notes", "There are no notes to display.")
            return

        display_window = tk.Toplevel(self.master)
        display_window.title("Notes")
        display_text = tk.Text(display_window, height=20, width=40)
        display_text.pack()

        for note in self.notes:
            display_text.insert(tk.END, f"Title: {note['title']}\n")
            display_text.insert(tk.END, f"Content: {note['content']}\n\n")


def main():
    root = tk.Tk()
    app = NoteTakingApp(root)
    root.mainloop()

if __name__ == "__main__":
    main()