AxWin2 - Misc commenting changes (and moving Shell to new specs)
[tpg/acess2.git] / Usermode / Applications / axwin2_src / WM / wm.h
index 96d488d..565697d 100644 (file)
@@ -31,6 +31,8 @@ typedef struct sElement
        // -- Render Cache
        short   CachedX, CachedY;
        short   CachedW, CachedH;
+       
+       char    DebugName[];
 }      tElement;
 
 typedef struct sTab
@@ -69,12 +71,12 @@ enum eElementFlags
        /**
         * \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,
        
@@ -85,6 +87,9 @@ enum eElementFlags
        
        /**
         * \brief Element "orientation"
+        * 
+        * Vertical means that the children of this element are stacked,
+        * otherwise they list horizontally
         */
        ELEFLAG_VERTICAL    = 0x010,//  ELEFLAG_HORIZONTAL  = 0x000,
        /**
@@ -100,6 +105,11 @@ enum eElementFlags
         */
        ELEFLAG_NOEXPAND    = 0x040,
        
+       /**
+        * \brief With (length) size action
+        * If this flag is set, the element will only be as large as
+        * is required along it's parent
+        */
        ELEFLAG_NOSTRETCH   = 0x080,
        
        /**
@@ -108,8 +118,11 @@ enum eElementFlags
        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
 };
 
 /**
@@ -118,15 +131,16 @@ enum eElementTypes
 {
        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
 };
@@ -135,9 +149,9 @@ enum eElementTypes
 /**
  * \brief Create a new element as a child of \a Parent
  */
-extern tElement        *WM_CreateElement(tElement *Parent, int Type, int Flags);
+extern tElement        *WM_CreateElement(tElement *Parent, int Type, int Flags, const char *DebugName);
 extern void    WM_SetFlags(tElement *Element, int Flags);
 extern void    WM_SetSize(tElement *Element, int Size);
-extern void    WM_SetText(tElement *Element, char *Text);
+extern void    WM_SetText(tElement *Element, const char *Text);
 
 #endif

UCC git Repository :: git.ucc.asn.au