source: observatorio/simulacion/SimEscenariosEconomicos-Qtgui/simulationElementsDock.H

simulacion
Last change on this file was 6c79fb4, checked in by Alejandro <amujica@…>, 10 years ago

Muestra el indice de dependencia de productos importados en el modulo de precios

  • Property mode set to 100644
File size: 3.5 KB
Line 
1/*
2  Copyright (C) 2012
3  Alejandro Mujica (amujica@cenditel.gob.ve)
4  Erwin Paredes (eparedes@cenditel.gob.ve)
5  José Ruiz (jruiz@cenditel.gob.ve)
6  Rodolfo Rangel (rrangel@cenditel.gob.ve)
7  Julie Vera (jvera@cenditel.gob.ve)
8
9  CENDITEL Fundación Centro Nacional de Desarrollo e Investigación en
10  Tecnologías Libres
11
12  Este programa es software libre; Usted puede usarlo bajo los términos de la
13  licencia de software GPL versión 2.0 de la Free Software Foundation.
14
15  Este programa se distribuye con la esperanza de que sea útil, pero SIN
16  NINGUNA GARANTÍA; tampoco las implícitas garantías de MERCANTILIDAD o
17  ADECUACIÓN A UN PROPÓSITO PARTICULAR.
18  Consulte la licencia GPL para más detalles. Usted debe recibir una copia
19  de la GPL junto con este programa; si no, escriba a la Free Software
20  Foundation Inc. 51 Franklin Street,5 Piso, Boston, MA 02110-1301, USA.
21*/
22
23/*
24  Este archivo contiene la definición de la clase SimulationElementsDock.
25
26  Autor: Alejandro J. Mujica
27  Fecha:
28*/
29
30# ifndef SIMULATION_ELEMENTS_DOCK_H
31# define SIMULATION_ELEMENTS_DOCK_H
32
33# include <QDockWidget>
34# include <QLayout>
35# include <QPushButton>
36# include <QListWidget>
37
38# include <tpl_dynDlist.H>
39# include <tpl_dynMapTree.H>
40
41# include <ioManager.H>
42
43/** Visualiza la lista de elementos que se van a someter a cambios en la
44  * simulación.
45  *
46  * Permite establecer el orden en el que se van a efectuar los cambios y
47  * eliminar del listado a cualquiera de ellos.
48  *
49  * @author Alejandro J. Mujica
50  */
51class SimulationElementsDock : public QDockWidget {
52
53    Q_OBJECT
54
55    DynMapTreap <Graph::Node *, QListWidgetItem *> map;
56
57    QListWidgetItem * selected;
58
59    QWidget widget;
60
61    QVBoxLayout layout;
62
63    QListWidget elements;
64
65    QHBoxLayout btnLayout;
66
67    QPushButton btnRemove;
68
69    QHBoxLayout layoutMoveControl;
70
71    QPushButton btnTop;
72
73    QPushButton btnUp;
74
75    QPushButton btnDown;
76
77    QPushButton btnBottom;
78
79    void setButtonsEnabled();
80
81    void setButtonsDisabled();
82
83private slots:
84    /// Elimina del listado al elemento seleccionado.
85    void slotRemoveSelectedItem();
86
87    /// Coloca al elemento seleccionado de primero en la lista.
88    void slotGoFirst();
89
90    /// Mueve una posición hacia arriba al elemento seleccionado.
91    void slotGoUp();
92
93    /// Mueve una posición hacia abajo al elemento seleccionado.
94    void slotGoDown();
95
96    /// Coloca al elemento seleccionado de último en la lista.
97    void slotGoLast();
98
99protected:
100    /// @overload
101    void closeEvent(QCloseEvent *);
102
103public:
104    SimulationElementsDock(QWidget * _parent = 0);
105
106    /** Recorre los elementos del listado y los escribe sobre la lista
107      * de elementos que se van a escribir en el archivo xml.
108      *
109      * @param[out] list lista sobre la cual se van a escribir los elementos.
110      */
111    void loadSimulationList(DynDlist<AlterInfo> & list);
112
113public slots:
114    /// Añade un elemento a la lista.
115    void slotAddElement(Graph::Node *);
116
117    /** Actualiza la disponibilidad de los botones de movimiento según el
118      * elemento seleccionado.
119      *
120      * @param item elemento seleccionado.
121      */
122    void slotElementSelected(QListWidgetItem * item);
123
124    /** Marca como seleccionado al elemento que contiene a un nodo dado.
125      *
126      * @param p puntero al nodo seleccionado.
127      */
128    void slotSvgPanelClicked(Graph::Node * p);
129
130signals:
131    /// Señal que se emite cuando se intenta cerrar el dock.
132    void signalClosing();
133
134    /// Señal que se emite cuando un nodo es seleccionado.
135    void signalItemSelected(Graph::Node *);
136};
137
138# endif // SIMULATION_ELEMENTS_DOCK_H
Note: See TracBrowser for help on using the repository browser.