Linux multi-monitor fullscreen support
[ryzomcore.git] / studio / src / plugins / gui_editor / widget_properties.h
blob6aa3efb22da91c0156de3023d78c50773592312f
1 // Object Viewer Qt GUI Editor plugin <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2013 Laszlo KIS-ADAM (dfighter) <dfighter1985@gmail.com>
6 //
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef WIDGETPROPS_H
22 #define WIDGETPROPS_H
24 #include "ui_widget_properties.h"
25 #include "widget_info.h"
26 #include <map>
27 #include <vector>
28 #include <string>
30 namespace GUIEditor
32 class CWidgetInfoTree;
33 class NewPropertyWidget;
34 class NewWidgetWidget;
36 /// Widget that shows all available GUI widgets and their properties,
37 /// Also allows the user to add / remove widgets and properties
38 class CWidgetProperties : public QWidget, public Ui::WidgetProperties
40 Q_OBJECT
42 public:
43 CWidgetProperties( QWidget *parent = NULL );
44 ~CWidgetProperties();
45 void setupWidgetInfo( CWidgetInfoTree *tree );
47 private Q_SLOTS:
48 void onListSelectionChanged( int i );
50 /// Removes widget from the list
51 void onRemoveWButtonClicked();
53 /// Removes widget property from the list
54 void onRemovePButtonClicked();
56 /// Adds a widget to the list
57 void onAddWButtonClicked();
59 /// Adds a widget property to the list
60 void onAddPButtonClicked();
62 /// Saves the widgets
63 void onSaveButtonClicked();
65 void onPropertyAdded();
66 void onWidgetAdded();
68 private:
69 /// Builds the widget list
70 void buildWidgetList();
72 /// Builds the property list for the currently selected widget
73 void setPropsOf( const char *name );
75 std::vector< std::string > widgetNames;
77 CWidgetInfoTree *tree;
78 NewPropertyWidget *newPropertyWidget;
79 NewWidgetWidget *newWidgetWidget;
81 Q_SIGNALS:
82 void treeChanged();
86 #endif