| 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| 26 * POSSIBILITY OF SUCH DAMAGE. |
26 * POSSIBILITY OF SUCH DAMAGE. |
| 27 */ |
27 */ |
| 28 |
28 |
| 29 #include <ucx/mempool.h> |
29 #include <cx/mempool.h> |
| 30 #include "../common/context.h" |
30 #include "../common/context.h" |
| 31 |
31 |
| 32 #include "window.h" |
32 #include "window.h" |
| 33 #include "menu.h" |
33 #include "menu.h" |
| 34 #include "toolbar.h" |
34 #include "toolbar.h" |
| 35 #include "container.h" |
35 #include "container.h" |
| 36 |
36 |
| 37 #include <QVBoxLayout> |
37 #include <QVBoxLayout> |
| 38 #include <QFileDialog> |
38 #include <QFileDialog> |
| |
39 #include <QPushButton> |
| 39 |
40 |
| 40 static UiObject* create_window(char *title, void *window_data, bool simple) { |
41 static UiObject* create_window(const char *title, void *window_data, bool simple) { |
| 41 UcxMempool *mp = ucx_mempool_new(256); |
42 CxMempool *mp = cxMempoolCreateSimple(256); |
| 42 UiObject *obj = (UiObject*)ucx_mempool_calloc(mp, 1, sizeof(UiObject)); |
43 UiObject *obj = (UiObject*)cxCalloc(mp->allocator, 1, sizeof(UiObject)); |
| 43 obj->ctx = uic_context(obj, mp); |
44 obj->ctx = uic_context(obj, mp); |
| 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(); |
| |
49 window->setWindowTitle(title); |
| 48 obj->widget = window; |
50 obj->widget = window; |
| 49 |
51 |
| 50 if(!simple) { |
52 if(!simple) { |
| 51 ui_add_menus(obj, window); |
53 ui_add_menus(obj, window); |
| 52 QToolBar *toolbar = ui_create_toolbar(obj); |
54 //QToolBar *toolbar = ui_create_toolbar(obj); |
| 53 window->addToolBar(Qt::TopToolBarArea, toolbar); |
55 //window->addToolBar(Qt::TopToolBarArea, toolbar); |
| 54 } |
56 } |
| 55 |
57 |
| 56 QBoxLayout *box = new QVBoxLayout(); |
58 QBoxLayout *box = new QVBoxLayout(); |
| 57 QWidget *boxWidget = new QWidget(); |
59 QWidget *boxWidget = new QWidget(); |
| 58 boxWidget->setLayout(box); |
60 boxWidget->setLayout(box); |
| 59 window->setCentralWidget(boxWidget); |
61 window->setCentralWidget(boxWidget); |
| 60 obj->container = new UiBoxContainer(box); |
62 ui_container_add(obj, new UiBoxContainer(box)); |
| 61 |
63 |
| 62 obj->widget = window; |
64 obj->widget = window; |
| 63 return obj; |
65 return obj; |
| 64 } |
66 } |
| 65 |
67 |
| 66 UiObject* ui_window(char *title, void *window_data) { |
68 UiObject* ui_window(const char *title, void *window_data) { |
| 67 return create_window(title, window_data, FALSE); |
69 return create_window(title, window_data, FALSE); |
| 68 } |
70 } |
| 69 |
71 |
| 70 UiObject* ui_simplewindow(char *title, void *window_data) { |
72 UiObject* ui_simplewindow(char *title, void *window_data) { |
| 71 return create_window(title, window_data, TRUE); |
73 return create_window(title, window_data, TRUE); |