ui_node_panel.h File Reference

#include "ui_node_abstractscrollable.h"
Include dependency graph for ui_node_panel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  panelExtraData_t
 extradata for the panel node More...

Defines

#define UI_GET_VERTICAL_ALIGN(align)   ((align >= LAYOUTALIGN_SPECIAL)?LAYOUTALIGN_NONE:(LAYOUTALIGN_V_MASK & align))
#define UI_GET_HORIZONTAL_ALIGN(align)   ((align >= LAYOUTALIGN_SPECIAL)?LAYOUTALIGN_NONE:(LAYOUTALIGN_H_MASK & align))

Enumerations

enum  panelLayout_t {
  LAYOUT_NONE, LAYOUT_TOP_DOWN_FLOW, LAYOUT_BORDER, LAYOUT_PACK,
  LAYOUT_STAR, LAYOUT_CLIENT, LAYOUT_COLUMN, LAYOUT_MAX,
  LAYOUT_ENSURE_32BIT = 0x7FFFFFFF
}
enum  layoutAlign_t {
  LAYOUTALIGN_NONE = 0, LAYOUTALIGN_H_MASK = 0x03, LAYOUTALIGN_H_LEFT = 0x01, LAYOUTALIGN_H_MIDDLE = 0x02,
  LAYOUTALIGN_H_RIGHT = 0x03, LAYOUTALIGN_V_MASK = 0x0C, LAYOUTALIGN_V_TOP = 0x04, LAYOUTALIGN_V_MIDDLE = 0x08,
  LAYOUTALIGN_V_BOTTOM = 0x0C, LAYOUTALIGN_TOPLEFT = LAYOUTALIGN_V_TOP | LAYOUTALIGN_H_LEFT, LAYOUTALIGN_TOP = LAYOUTALIGN_V_TOP | LAYOUTALIGN_H_MIDDLE, LAYOUTALIGN_TOPRIGHT = LAYOUTALIGN_V_TOP | LAYOUTALIGN_H_RIGHT,
  LAYOUTALIGN_LEFT = LAYOUTALIGN_V_MIDDLE | LAYOUTALIGN_H_LEFT, LAYOUTALIGN_MIDDLE = LAYOUTALIGN_V_MIDDLE | LAYOUTALIGN_H_MIDDLE, LAYOUTALIGN_RIGHT = LAYOUTALIGN_V_MIDDLE | LAYOUTALIGN_H_RIGHT, LAYOUTALIGN_BOTTOMLEFT = LAYOUTALIGN_V_BOTTOM | LAYOUTALIGN_H_LEFT,
  LAYOUTALIGN_BOTTOM = LAYOUTALIGN_V_BOTTOM | LAYOUTALIGN_H_MIDDLE, LAYOUTALIGN_BOTTOMRIGHT = LAYOUTALIGN_V_BOTTOM | LAYOUTALIGN_H_RIGHT, LAYOUTALIGN_SPECIAL = 0x10, LAYOUTALIGN_FILL,
  LAYOUTALIGN_MAX, LAYOUTALIGN_ENSURE_32BIT = 0x7FFFFFFF
}

Functions

void UI_RegisterPanelNode (struct uiBehaviour_s *behaviour)
void UI_StarLayout (struct uiNode_s *node)
 Do a star layout with child according to there num.

Detailed Description

Definition in file ui_node_panel.h.


Define Documentation

#define UI_GET_HORIZONTAL_ALIGN ( align   )     ((align >= LAYOUTALIGN_SPECIAL)?LAYOUTALIGN_NONE:(LAYOUTALIGN_H_MASK & align))
Parameters:
align a layoutAlign_t
Returns:
LAYOUTALIGN_H_LEFT, LAYOUTALIGN_H_MIDDLE, LAYOUTALIGN_H_RIGHT, else LAYOUTALIGN_NONE

Definition at line 89 of file ui_node_panel.h.

Referenced by UI_NodeGetPoint().

#define UI_GET_VERTICAL_ALIGN ( align   )     ((align >= LAYOUTALIGN_SPECIAL)?LAYOUTALIGN_NONE:(LAYOUTALIGN_V_MASK & align))
Parameters:
align a layoutAlign_t
Returns:
LAYOUTALIGN_V_TOP, LAYOUTALIGN_V_MIDDLE, LAYOUTALIGN_V_BOTTOM, else LAYOUTALIGN_NONE

Definition at line 84 of file ui_node_panel.h.

Referenced by UI_NodeGetPoint().


Enumeration Type Documentation

Enumerator:
LAYOUTALIGN_NONE 
LAYOUTALIGN_H_MASK 
LAYOUTALIGN_H_LEFT 
LAYOUTALIGN_H_MIDDLE 
LAYOUTALIGN_H_RIGHT 
LAYOUTALIGN_V_MASK 
LAYOUTALIGN_V_TOP 
LAYOUTALIGN_V_MIDDLE 
LAYOUTALIGN_V_BOTTOM 
LAYOUTALIGN_TOPLEFT 
LAYOUTALIGN_TOP 
LAYOUTALIGN_TOPRIGHT 
LAYOUTALIGN_LEFT 
LAYOUTALIGN_MIDDLE 
LAYOUTALIGN_RIGHT 
LAYOUTALIGN_BOTTOMLEFT 
LAYOUTALIGN_BOTTOM 
LAYOUTALIGN_BOTTOMRIGHT 
LAYOUTALIGN_SPECIAL 
LAYOUTALIGN_FILL 
LAYOUTALIGN_MAX 
LAYOUTALIGN_ENSURE_32BIT 

Definition at line 46 of file ui_node_panel.h.

Enumerator:
LAYOUT_NONE 
LAYOUT_TOP_DOWN_FLOW 
LAYOUT_BORDER 
LAYOUT_PACK 
LAYOUT_STAR 
LAYOUT_CLIENT 
LAYOUT_COLUMN 
LAYOUT_MAX 
LAYOUT_ENSURE_32BIT 

Definition at line 33 of file ui_node_panel.h.


Function Documentation

void UI_RegisterPanelNode ( struct uiBehaviour_s behaviour  ) 
void UI_StarLayout ( uiNode_t node  ) 

Do a star layout with child according to there num.

Note:
1=top-left 2=top-middle 3=top-right 4=middle-left 5=middle-middle 6=middle-right 7=bottom-left 8=bottom-middle 9=bottom-right 10=fill
Todo:
Tag it static when it is possible

Definition at line 258 of file ui_node_panel.c.

References uiNode_s::align, uiNode_s::behaviour, uiBehaviour_s::doLayout, uiNode_s::firstChild, LAYOUTALIGN_FILL, LAYOUTALIGN_NONE, LAYOUTALIGN_SPECIAL, uiNode_s::next, uiNode_s::pos, uiNode_s::size, UI_NodeGetPoint(), UI_NodeRelativeToAbsolutePoint(), and UI_NodeSetSize().

Referenced by UI_PanelNodeDoLayout(), and UI_WindowNodeDoLayout().


Generated by  doxygen 1.6.2