int Menubar_HandleMessage(tAxWin_Message *Message);
// === GLOBALS ===
-tAxWin_Handle ghMenubarWindow;
+tAxWin_Element geConsole;
// === CODE ===
int main(int argc, char *argv[])
{
AxWin_Register("Terminal");
+ //geConsole = AxWin_CreateElement();
+
AxWin_MessageLoop();
return 0;
// Set root window to no-border
WM_SetFlags(NULL, 0);
- // -- Create Sidebar --
+ // -- Create Sidebar (Menu and Window List) --
gpInterface_Sidebar = WM_CreateElement(NULL, ELETYPE_TOOLBAR, ELEFLAG_VERTICAL, "Sidebar");
WM_SetSize( gpInterface_Sidebar, giInterface_Width );
// > System Menu Button
btn = WM_CreateElement(gpInterface_Sidebar, ELETYPE_BUTTON, ELEFLAG_NOSTRETCH, "SystemMenu");
WM_SetSize(btn, giInterface_Width-4);
- // TODO: Once image loading is implemented, switch to a logo
- #if 1
- //text = WM_CreateElement(btn, ELETYPE_IMAGE, ELEFLAG_SCALE);
+ //text = WM_CreateElement(btn, ELETYPE_IMAGE, ELEFLAG_SCALE, "MenuLogo");
text = WM_CreateElement(btn, ELETYPE_IMAGE, 0, "MenuLogo");
//WM_SetText(text, "file:///LogoSmall.sif");
WM_SetText(text, csLogoSmall);
- #else
- text = WM_CreateElement(btn, ELETYPE_TEXT, 0, NULL);
- WM_SetText(text, "Acess");
- #endif
+
// > Plain <hr/> style spacer
ele = WM_CreateElement(gpInterface_Sidebar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Top");
WM_SetSize(ele, 4);
- // > Application List
+
+ // > Application List (Window list on most OSs)
gpInterface_ProgramList = WM_CreateElement(gpInterface_Sidebar, ELETYPE_BOX, ELEFLAG_VERTICAL, "ProgramList");
+
// > Plain <hr/> style spacer
ele = WM_CreateElement(gpInterface_Sidebar, ELETYPE_SPACER, ELEFLAG_NOSTRETCH, "SideBar Spacer Bottom");
WM_SetSize(ele, 4);
+
// > Version/Time
text = WM_CreateElement(gpInterface_Sidebar, ELETYPE_TEXT, ELEFLAG_NOSTRETCH, "Version String");
WM_SetSize(text, 20);
/**
* \brief Element visibility
*
- * If set, the element is not drawn.
+ * If set, the element is not drawn (but still is used for size calculations)
*/
ELEFLAG_INVISIBLE = 0x002,
/**
- * \brief Position an element absulutely
+ * \brief Position an element absulutely (ignored in size calcs)
*/
ELEFLAG_ABSOLUTEPOS = 0x004,
/**
* \brief Element "orientation"
+ *
+ * Vertical means that the children of this element are stacked,
+ * otherwise they list horizontally
*/
ELEFLAG_VERTICAL = 0x010,// ELEFLAG_HORIZONTAL = 0x000,
/**
/**
* \brief With (length) size action
* If this flag is set, the element will only be as large as
- * is required
+ * is required along it's parent
*/
ELEFLAG_NOSTRETCH = 0x080,
ELEFLAG_ALIGN_CENTER= 0x100,
/**
* \brief Right/Bottom alignment
+ *
+ * If set, the element aligns to the end of avaliable space (instead
+ * of the beginning)
*/
- ELEFLAG_ALIGN_END = 0x200
+ ELEFLAG_ALIGN_END = 0x200
};
/**
{
ELETYPE_NONE,
- ELETYPE_BOX, //!< Content box
+ ELETYPE_BOX, //!< Content box (invisible in itself)
ELETYPE_TABBAR, //!< Tab Bar
ELETYPE_TOOLBAR, //!< Tool Bar
ELETYPE_BUTTON, //!< Push Button
+
ELETYPE_TEXT, //!< Text
ELETYPE_IMAGE, //!< Image
- ELETYPE_SPACER, //!< Visual Spacer
+ ELETYPE_SPACER, //!< Visual Spacer (horizontal / vertical rule)
MAX_ELETYPES = 0x100
};