Added Qt GUI page and a blank Page about the Doc
This commit is contained in:
parent
c1333b652a
commit
b17a526541
19 changed files with 177 additions and 0 deletions
3
.idea/.gitignore
vendored
Normal file
3
.idea/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
8
.idea/TSGC.iml
Normal file
8
.idea/TSGC.iml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="EMPTY_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
6
.idea/misc.xml
Normal file
6
.idea/misc.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectResources">
|
||||
<xml-schema-version>XMLSchema_1_1</xml-schema-version>
|
||||
</component>
|
||||
</project>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/TSGC.iml" filepath="$PROJECT_DIR$/.idea/TSGC.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
6
Writerside/c.list
Normal file
6
Writerside/c.list
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE categories
|
||||
SYSTEM "https://resources.jetbrains.com/writerside/1.0/categories.dtd">
|
||||
<categories>
|
||||
<category id="wrs" name="Writerside documentation" order="1"/>
|
||||
</categories>
|
13
Writerside/cfg/buildprofiles.xml
Normal file
13
Writerside/cfg/buildprofiles.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE buildprofiles SYSTEM "https://resources.jetbrains.com/writerside/1.0/build-profiles.dtd">
|
||||
<buildprofiles xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/build-profiles.xsd"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
|
||||
<variables></variables>
|
||||
<build-profile instance="tsgc">
|
||||
<variables>
|
||||
<noindex-content>true</noindex-content>
|
||||
</variables>
|
||||
</build-profile>
|
||||
|
||||
</buildprofiles>
|
BIN
Writerside/images/completion_procedure.png
Normal file
BIN
Writerside/images/completion_procedure.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 125 KiB |
BIN
Writerside/images/completion_procedure_dark.png
Normal file
BIN
Writerside/images/completion_procedure_dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
BIN
Writerside/images/convert_table_to_xml.png
Normal file
BIN
Writerside/images/convert_table_to_xml.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 341 KiB |
BIN
Writerside/images/convert_table_to_xml_dark.png
Normal file
BIN
Writerside/images/convert_table_to_xml_dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 119 KiB |
BIN
Writerside/images/new_topic_options.png
Normal file
BIN
Writerside/images/new_topic_options.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 306 KiB |
BIN
Writerside/images/new_topic_options_dark.png
Normal file
BIN
Writerside/images/new_topic_options_dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 274 KiB |
18
Writerside/redirection-rules.xml
Normal file
18
Writerside/redirection-rules.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE rules SYSTEM "https://resources.jetbrains.com/writerside/1.0/redirection-rules.dtd">
|
||||
<rules>
|
||||
<!-- format is as follows
|
||||
<rule id="<unique id>">
|
||||
<accepts>page.html</accepts>
|
||||
</rule>
|
||||
-->
|
||||
<rule id="78eaee43">
|
||||
<description>Created after removal of "Qt GUI in Suyu" id="qt-gui-in-suyu" from The Suyu Grand Codex
|
||||
</description>
|
||||
<accepts>Qt-GUI-in-Suyu-id-qt-gui-in-suyu.html</accepts>
|
||||
</rule>
|
||||
<rule id="88c5d6">
|
||||
<description>Created after removal of "Suyu's Qt-based GUI Framework" from The Suyu Grand Codex</description>
|
||||
<accepts>Suyu-s-Qt-based-GUI-Framework.html</accepts>
|
||||
</rule>
|
||||
</rules>
|
84
Writerside/topics/Suyu-GUI-Framework.md
Normal file
84
Writerside/topics/Suyu-GUI-Framework.md
Normal file
|
@ -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.
|
1
Writerside/topics/starter-topic.md
Normal file
1
Writerside/topics/starter-topic.md
Normal file
|
@ -0,0 +1 @@
|
|||
# About The Suyu Grand Codex
|
11
Writerside/tsgc.tree
Normal file
11
Writerside/tsgc.tree
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE instance-profile
|
||||
SYSTEM "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd">
|
||||
|
||||
<instance-profile id="tsgc"
|
||||
name="The Suyu Grand Codex"
|
||||
start-page="starter-topic.md">
|
||||
|
||||
<toc-element topic="starter-topic.md"/>
|
||||
<toc-element topic="Suyu-GUI-Framework.md"/>
|
||||
</instance-profile>
|
5
Writerside/v.list
Normal file
5
Writerside/v.list
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE vars SYSTEM "https://resources.jetbrains.com/writerside/1.0/vars.dtd">
|
||||
<vars>
|
||||
<var name="product" value="Writerside"/>
|
||||
</vars>
|
8
Writerside/writerside.cfg
Normal file
8
Writerside/writerside.cfg
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE ihp SYSTEM "https://resources.jetbrains.com/writerside/1.0/ihp.dtd">
|
||||
|
||||
<ihp version="2.0">
|
||||
<topics dir="topics" web-path="topics"/>
|
||||
<images dir="images" web-path="images"/>
|
||||
<instance src="tsgc.tree" version="0.0.0"/>
|
||||
</ihp>
|
Loading…
Reference in a new issue