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/TSGC.iml b/.idea/TSGC.iml new file mode 100644 index 0000000..6102194 --- /dev/null +++ b/.idea/TSGC.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..1ce5b8c --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + XMLSchema_1_1 + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..0cb4c01 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ 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/Writerside/c.list b/Writerside/c.list new file mode 100644 index 0000000..c4c77a2 --- /dev/null +++ b/Writerside/c.list @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/Writerside/cfg/buildprofiles.xml b/Writerside/cfg/buildprofiles.xml new file mode 100644 index 0000000..c799ccf --- /dev/null +++ b/Writerside/cfg/buildprofiles.xml @@ -0,0 +1,13 @@ + + + + + + + + true + + + + diff --git a/Writerside/images/completion_procedure.png b/Writerside/images/completion_procedure.png new file mode 100644 index 0000000..3535a3f Binary files /dev/null and b/Writerside/images/completion_procedure.png differ diff --git a/Writerside/images/completion_procedure_dark.png b/Writerside/images/completion_procedure_dark.png new file mode 100644 index 0000000..a65beb0 Binary files /dev/null and b/Writerside/images/completion_procedure_dark.png differ diff --git a/Writerside/images/convert_table_to_xml.png b/Writerside/images/convert_table_to_xml.png new file mode 100644 index 0000000..2518a64 Binary files /dev/null and b/Writerside/images/convert_table_to_xml.png differ diff --git a/Writerside/images/convert_table_to_xml_dark.png b/Writerside/images/convert_table_to_xml_dark.png new file mode 100644 index 0000000..4716122 Binary files /dev/null and b/Writerside/images/convert_table_to_xml_dark.png differ diff --git a/Writerside/images/new_topic_options.png b/Writerside/images/new_topic_options.png new file mode 100644 index 0000000..bc6abb6 Binary files /dev/null and b/Writerside/images/new_topic_options.png differ diff --git a/Writerside/images/new_topic_options_dark.png b/Writerside/images/new_topic_options_dark.png new file mode 100644 index 0000000..bf3e48d Binary files /dev/null and b/Writerside/images/new_topic_options_dark.png differ diff --git a/Writerside/redirection-rules.xml b/Writerside/redirection-rules.xml new file mode 100644 index 0000000..2399020 --- /dev/null +++ b/Writerside/redirection-rules.xml @@ -0,0 +1,18 @@ + + + + + + Created after removal of "Qt GUI in Suyu" id="qt-gui-in-suyu" from The Suyu Grand Codex + + Qt-GUI-in-Suyu-id-qt-gui-in-suyu.html + + + Created after removal of "Suyu's Qt-based GUI Framework" from The Suyu Grand Codex + Suyu-s-Qt-based-GUI-Framework.html + + \ No newline at end of file diff --git a/Writerside/topics/Suyu-GUI-Framework.md b/Writerside/topics/Suyu-GUI-Framework.md new file mode 100644 index 0000000..3b5f83b --- /dev/null +++ b/Writerside/topics/Suyu-GUI-Framework.md @@ -0,0 +1,84 @@ +# Suyu-GUI-Framework + +This document provides information for developers who want to contribute to the Suyu emulator project, +particularly focusing on the GUI aspects. + +## Qt GUI in Suyu + +The Suyu emulator utilizes the Qt framework for its graphical user interface (GUI). +This section provides an overview of how the Qt GUI functions within the project. + +## Qt GUI Components + +Qt is a powerful and versatile framework for creating cross-platform graphical user interfaces (GUIs). +It provides a rich set of tools and classes that make GUI development efficient and enjoyable. +This section provides a broad overview of Qt's core concepts and how it implements GUIs. + +### Core Concepts + +* **Widgets:** +The fundamental building blocks of a Qt GUI are widgets. Widgets are visual elements, such as buttons, labels, text +boxes, and windows. Qt provides a wide variety of pre-built widgets, and you can also create your own custom widgets. + +* **Layouts:** +Layouts manage the arrangement and positioning of widgets within a window or container. Qt offers various layout +managers, including vertical layouts (`QVBoxLayout`), horizontal layouts (`QHBoxLayout`), and grid layouts +(`QGridLayout`). Layouts ensure that your GUI adapts to different window sizes and screen resolutions. + +* **Signals and Slots:** +Qt uses a signal and slot mechanism for communication between objects. Signals are emitted by objects when certain +events occur (e.g., a button click). Slots are functions that are connected to signals and are executed when the +corresponding signal is emitted. This mechanism allows you to define the behavior of your GUI in response to user +interactions. + +* **Events:** +Qt applications are event-driven. Events are occurrences or actions, such as mouse clicks, key presses, or window +resize events. Qt provides an event system for handling and responding to these events. + +* **Painting:** Qt allows you to customize the appearance of widgets by painting on them. You can use the +`QPainter` class to draw shapes, text, and images on widgets, giving you fine-grained control over the look and +feel of your GUI. + +### GUI Implementation + +Qt offers two main approaches to implementing GUIs: + +* **Qt Widgets:** +This is the traditional approach, using C++ classes to create and manage widgets and layouts. +It provides a procedural programming style for GUI development. + +* **Qt Quick (QML):** +This is a more declarative approach, using the QML language (a JavaScript-based language) to define the GUI. +QML allows you to create dynamic and visually appealing interfaces with less code. + +### Key Classes + +Some of the essential classes in Qt's GUI module include: + +* **`QWidget`:** The base class for all widgets. +* **`QApplication`:** The main application class. +* **`QMainWindow`:** A class for creating main application windows. +* **`QDialog`:** A class for creating dialog boxes. +* **`QPushButton`:** A class for creating buttons. +* **`QLabel`:** A class for displaying text or images. +* **`QLineEdit`:** A class for single-line text input. +* **`QVBoxLayout`, `QHBoxLayout`, `QGridLayout`:** Classes for managing layouts. + +### Benefits of Qt GUI + +* **Cross-Platform:** +Qt GUIs can run on various operating systems, including Windows, macOS, Linux, and mobile platforms. +* **Native Look and Feel:** +Qt applications can have a native look and feel on different platforms. +* **Rich Functionality:** +Qt provides a comprehensive set of widgets and tools for building feature-rich GUIs. +* **Extensibility:** +You can create custom widgets and extend Qt's functionality. +* **Performance:** +Qt GUIs are generally performant and efficient. + +This overview provides a solid foundation for understanding Qt's core +concepts and how it implements GUIs. You can further expand this section +in your documentation by providing more detailed explanations of specific +concepts, examples of GUI code, and guidance on choosing the right approach +(Qt Widgets or Qt Quick) for different scenarios. \ No newline at end of file diff --git a/Writerside/topics/starter-topic.md b/Writerside/topics/starter-topic.md new file mode 100644 index 0000000..4fefe5f --- /dev/null +++ b/Writerside/topics/starter-topic.md @@ -0,0 +1 @@ +# About The Suyu Grand Codex \ No newline at end of file diff --git a/Writerside/tsgc.tree b/Writerside/tsgc.tree new file mode 100644 index 0000000..2c2522f --- /dev/null +++ b/Writerside/tsgc.tree @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/Writerside/v.list b/Writerside/v.list new file mode 100644 index 0000000..2d12cb3 --- /dev/null +++ b/Writerside/v.list @@ -0,0 +1,5 @@ + + + + + diff --git a/Writerside/writerside.cfg b/Writerside/writerside.cfg new file mode 100644 index 0000000..4b17fd4 --- /dev/null +++ b/Writerside/writerside.cfg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file