centaurialpha / pireal

Relational Algebra Interpreter writting in Python and Qt
GNU General Public License v3.0
32 stars 6 forks source link

refactor: Change in the way objects are created #86

Closed centaurialpha closed 4 years ago

centaurialpha commented 5 years ago

Actualmente todos los "servicios" (central_widget, lateral_widget, etc) se autoregistran en el componente principal (Pireal).

La idea justamente de este PR es cambiar esta forma, crear los componentes de la "forma normal".

Al refactorizar esto, se encontraron problemas, importaciones circulares, duplicación de instancias(?. Se deberá rehacer la jerarquía de componentes y describir cada uno, a partir de eso realizar la implementación.

To Do

centaurialpha commented 5 years ago

Pireal

Actualmente

Clase principal que extiende de QMainWindow (Ventana principal). Acá se registra el *CentralWidget, se instalan los menús, acciones, toolbars, etc.

Cambios

...

CentralWidget

Actualmente

Contiene el Stack principal en donde se muestra un DatabaseContainer Todas las acciones principales como, abrir, cerrar, guardar db, ejecutar consultas, etc se conectan a funciones o slots de ésta clase.

Cambios

LateralWidget

Actualmente

Muestra dos listas, la primera relaciones de la base de datos abierta y la segunda relaciones del resultado de las queries. La UI está en QML.

Cambios

DatabaseContainer

Actualmente

Componente que contiene las tablas de las relaciones (db y resultados) usando un Tab.

Cambios

QueryContainer

Actualmente

El componente principal es el Editor que tiene soporte para resaltado de sintáxis, búsqueda de palabras, undock, etc.

Camios

centaurialpha commented 4 years ago

La implementación pasa a ser parte de #92, en este PR solo se cambia la forma de crear los objetos y la documentación del nuevo diagrama de arquitectura.

centaurialpha commented 4 years ago

Nueva arquitectura

pireal-arch