| 36 #include "container.h" |
36 #include "container.h" |
| 37 |
37 |
| 38 #include <QVBoxLayout> |
38 #include <QVBoxLayout> |
| 39 #include <QFileDialog> |
39 #include <QFileDialog> |
| 40 #include <QPushButton> |
40 #include <QPushButton> |
| |
41 #include <QDockWidget> |
| 41 |
42 |
| 42 static UiObject* create_window(const char *title, void *window_data, bool simple) { |
43 static UiObject* create_window(const char *title, void *window_data, bool simple, bool sidebar = false) { |
| 43 UiObject *obj = uic_object_new_toplevel(); |
44 UiObject *obj = uic_object_new_toplevel(); |
| 44 obj->window = window_data; |
45 obj->window = window_data; |
| 45 obj->next = NULL; |
46 obj->next = NULL; |
| 46 |
47 |
| 47 QMainWindow *window = new QMainWindow(); |
48 QMainWindow *window = new QMainWindow(); |
| 59 QBoxLayout *box = new QVBoxLayout(); |
60 QBoxLayout *box = new QVBoxLayout(); |
| 60 QWidget *boxWidget = new QWidget(); |
61 QWidget *boxWidget = new QWidget(); |
| 61 boxWidget->setLayout(box); |
62 boxWidget->setLayout(box); |
| 62 window->setCentralWidget(boxWidget); |
63 window->setCentralWidget(boxWidget); |
| 63 ui_container_add(obj, new UiBoxContainer(box)); |
64 ui_container_add(obj, new UiBoxContainer(box)); |
| |
65 if(sidebar) { |
| |
66 QDockWidget *dock = new QDockWidget(); |
| |
67 window->addDockWidget(Qt::LeftDockWidgetArea, dock); |
| |
68 window->setProperty("ui_sidebar", QVariant::fromValue((void*)dock)); |
| |
69 } |
| 64 |
70 |
| 65 obj->widget = window; |
71 obj->widget = window; |
| 66 return obj; |
72 return obj; |
| 67 } |
73 } |
| 68 |
74 |
| 69 UiObject* ui_window(const char *title, void *window_data) { |
75 UiObject* ui_window(const char *title, void *window_data) { |
| 70 return create_window(title, window_data, FALSE); |
76 return create_window(title, window_data, false); |
| 71 } |
77 } |
| 72 |
78 |
| 73 UiObject* ui_simplewindow(char *title, void *window_data) { |
79 UiObject* ui_simplewindow(char *title, void *window_data) { |
| 74 return create_window(title, window_data, TRUE); |
80 return create_window(title, window_data, true); |
| 75 } |
81 } |
| |
82 |
| |
83 UiObject *ui_sidebar_window(const char *title, void *window_data) { |
| |
84 return create_window(title, window_data, false, true); |
| |
85 } |
| 76 |
86 |
| 77 |
87 |
| 78 char* ui_openfiledialog(UiObject *obj) { |
88 char* ui_openfiledialog(UiObject *obj) { |
| 79 QString fileName = QFileDialog::getOpenFileName(obj->widget); |
89 QString fileName = QFileDialog::getOpenFileName(obj->widget); |
| 80 if(fileName.size() > 0) { |
90 if(fileName.size() > 0) { |