diff -r 458831c574f4 -r 0ec8a5f17782 ui/motif/container.c --- a/ui/motif/container.c Sat May 10 15:43:22 2014 +0200 +++ b/ui/motif/container.c Sat May 10 18:52:22 2014 +0200 @@ -31,6 +31,7 @@ #include "container.h" #include "../common/context.h" +#include "../common/object.h" UiContainer* ui_frame_container(UiObject *obj, Widget frame) { UiContainer *ct = ucx_mempool_malloc( @@ -44,3 +45,39 @@ Widget ui_frame_container_add(UiContainer *ct, Arg *args, int *n) { return ct->widget; } + + +UIWIDGET ui_sidebar(UiObject *obj) { + UiContainer *ct = uic_get_current_container(obj); + + Arg args[8]; + int n = 0; + XtSetArg(args[n], XmNorientation, XmHORIZONTAL); + n++; + + Widget parent = ct->add(ct, args, &n); + Widget pane = XmCreatePanedWindow(parent, "pane", args, n); + XtManageChild(pane); + + // add sidebar widget + XtSetArg(args[0], XmNshadowType, XmSHADOW_ETCHED_OUT); + XtSetArg(args[1], XmNshadowThickness, 0); + Widget sidebar = XmCreateFrame(pane, "sidebar", args, 2); + //XtManageChild(sidebar); + + UiObject *left = uic_object_new(obj, sidebar); + left->container = ui_frame_container(left, sidebar); + + // add content widget + XtSetArg (args[2], XmNpaneMaximum, 8000); + Widget content = XmCreateFrame(pane, "content_area", args, 3); + XtManageChild(content); + + UiObject *right = uic_object_new(obj, content); + right->container = ui_frame_container(right, content); + + uic_obj_add(obj, right); + uic_obj_add(obj, left); + + return sidebar; +}