Headers for emWin lib
Dependents: DISCO-F746NG_rtos_test
emWin_header/TREEVIEW.h
- Committer:
- redbird
- Date:
- 2016-03-26
- Revision:
- 0:1bf8f02b0770
File content as of revision 0:1bf8f02b0770:
/********************************************************************* * SEGGER Microcontroller GmbH & Co. KG * * Solutions for real time microcontroller applications * ********************************************************************** * * * (c) 1996 - 2014 SEGGER Microcontroller GmbH & Co. KG * * * * Internet: www.segger.com Support: support@segger.com * * * ********************************************************************** ** emWin V5.24 - Graphical user interface for embedded applications ** All Intellectual Property rights in the Software belongs to SEGGER. emWin is protected by international copyright laws. Knowledge of the source code may not be used to write a similar product. This file may only be used in accordance with the following terms: The software has been licensed to NXP Semiconductors USA, Inc. whose registered office is situated at 411 E. Plumeria Drive, San Jose, CA 95134, USA solely for the purposes of creating libraries for NXPs M0, M3/M4 and ARM7/9 processor-based devices, sublicensed and distributed under the terms and conditions of the NXP End User License Agreement. Full source code is available at: www.segger.com We appreciate your understanding and fairness. ---------------------------------------------------------------------- File : TREEVIEW.h Purpose : TREEVIEW include --------------------END-OF-HEADER------------------------------------- */ #ifndef TREEVIEW_H #define TREEVIEW_H #include "WM.h" #include "DIALOG_Intern.h" /* Req. for Create indirect data structure */ #include "WIDGET.h" #if GUI_WINSUPPORT #if defined(__cplusplus) extern "C" { /* Make sure we have C-declarations in C++ programs */ #endif /********************************************************************* * * Defines * ********************************************************************** */ /* Status- and create flags */ #define TREEVIEW_CF_HIDELINES (1 << 0) #define TREEVIEW_CF_ROWSELECT (1 << 1) #define TREEVIEW_CF_AUTOSCROLLBAR_H (1 << 2) #define TREEVIEW_CF_AUTOSCROLLBAR_V (1 << 3) #define TREEVIEW_SF_HIDELINES TREEVIEW_CF_HIDELINES #define TREEVIEW_SF_ROWSELECT TREEVIEW_CF_ROWSELECT #define TREEVIEW_SF_AUTOSCROLLBAR_H TREEVIEW_CF_AUTOSCROLLBAR_H #define TREEVIEW_SF_AUTOSCROLLBAR_V TREEVIEW_CF_AUTOSCROLLBAR_V /* Bitmap indices */ #define TREEVIEW_BI_CLOSED 0 #define TREEVIEW_BI_OPEN 1 #define TREEVIEW_BI_LEAF 2 #define TREEVIEW_BI_PLUS 3 #define TREEVIEW_BI_MINUS 4 #define TREEVIEW_BI_PM 5 /* Color indices */ #define TREEVIEW_CI_UNSEL 0 #define TREEVIEW_CI_SEL 1 #define TREEVIEW_CI_DISABLED 2 /* Relative positions (create) */ #define TREEVIEW_INSERT_ABOVE 0 #define TREEVIEW_INSERT_BELOW 1 #define TREEVIEW_INSERT_FIRST_CHILD 2 /* Relative positions (retrieve) */ #define TREEVIEW_GET_FIRST 0 #define TREEVIEW_GET_LAST 1 #define TREEVIEW_GET_NEXT_SIBLING 2 #define TREEVIEW_GET_PREV_SIBLING 3 #define TREEVIEW_GET_FIRST_CHILD 4 #define TREEVIEW_GET_PARENT 5 /* Item flags */ #define TREEVIEW_ITEM_TYPE_LEAF (0 << 0) #define TREEVIEW_ITEM_TYPE_NODE (1 << 0) /* Selection mode */ #define TREEVIEW_SELMODE_ROW 1 #define TREEVIEW_SELMODE_TEXT 0 /************************************************************ * * Types * ************************************************************* */ typedef WM_HMEM TREEVIEW_Handle; typedef WM_HMEM TREEVIEW_ITEM_Handle; typedef struct { int IsNode; int IsExpanded; int HasLines; int HasRowSelect; int Level; } TREEVIEW_ITEM_INFO; typedef struct { GUI_COLOR ColorBk; GUI_COLOR ColorText; GUI_COLOR ColorTextBk; GUI_COLOR ColorLines; GUI_RECT rText; TREEVIEW_ITEM_Handle hItem; const GUI_FONT * pFont; char * pText; U8 NumLines; I16 ax0[3]; I16 ay0[3]; I16 ax1[3]; I16 ay1[3]; U8 NumConnectors; I16 axc[16]; const GUI_BITMAP * pBmPM; const GUI_BITMAP * pBmOCL; I16 xPosPM, xPosOCL; U8 IndexPM; U8 IndexOCL; } TREEVIEW_ITEM_DRAW_INFO; /********************************************************************* * * Create functions * ********************************************************************** */ TREEVIEW_Handle TREEVIEW_CreateEx (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id); TREEVIEW_Handle TREEVIEW_CreateUser (int x0, int y0, int xSize, int ySize, WM_HWIN hParent, int WinFlags, int ExFlags, int Id, int NumExtraBytes); TREEVIEW_Handle TREEVIEW_CreateIndirect(const GUI_WIDGET_CREATE_INFO * pCreateInfo, WM_HWIN hWinParent, int x0, int y0, WM_CALLBACK * cb); /********************************************************************* * * The callback ... * * Do not call it directly ! It is only to be used from within an * overwritten callback. */ void TREEVIEW_Callback(WM_MESSAGE * pMsg); /********************************************************************* * * Common functions * ********************************************************************** */ int TREEVIEW_AttachItem (TREEVIEW_Handle hObj, TREEVIEW_ITEM_Handle hItem, TREEVIEW_ITEM_Handle hItemAt, int Position); void TREEVIEW_DecSel (TREEVIEW_Handle hObj); TREEVIEW_ITEM_Handle TREEVIEW_GetItem (TREEVIEW_Handle hObj, TREEVIEW_ITEM_Handle hItem, int Flags); TREEVIEW_ITEM_Handle TREEVIEW_GetSel (TREEVIEW_Handle hObj); int TREEVIEW_GetUserData (TREEVIEW_Handle hObj, void * pDest, int NumBytes); void TREEVIEW_IncSel (TREEVIEW_Handle hObj); TREEVIEW_ITEM_Handle TREEVIEW_InsertItem (TREEVIEW_Handle hObj, int IsNode, TREEVIEW_ITEM_Handle hItemPrev, int Position, const char * s); int TREEVIEW_OwnerDraw (const WIDGET_ITEM_DRAW_INFO * pDrawItemInfo); void TREEVIEW_ScrollToSel (TREEVIEW_Handle hObj); void TREEVIEW_SetAutoScrollH (TREEVIEW_Handle hObj, int State); void TREEVIEW_SetAutoScrollV (TREEVIEW_Handle hObj, int State); void TREEVIEW_SetBitmapOffset(TREEVIEW_Handle hObj, int Index, int xOff, int yOff); void TREEVIEW_SetBkColor (TREEVIEW_Handle hObj, int Index, GUI_COLOR Color); void TREEVIEW_SetFont (TREEVIEW_Handle hObj, const GUI_FONT * pFont); void TREEVIEW_SetHasLines (TREEVIEW_Handle hObj, int State); void TREEVIEW_SetImage (TREEVIEW_Handle hObj, int Index, const GUI_BITMAP * pBitmap); int TREEVIEW_SetIndent (TREEVIEW_Handle hObj, int Indent); void TREEVIEW_SetLineColor (TREEVIEW_Handle hObj, int Index, GUI_COLOR Color); void TREEVIEW_SetOwnerDraw (TREEVIEW_Handle hObj, WIDGET_DRAW_ITEM_FUNC * pfDrawItem); void TREEVIEW_SetSel (TREEVIEW_Handle hObj, TREEVIEW_ITEM_Handle hItem); void TREEVIEW_SetSelMode (TREEVIEW_Handle hObj, int Mode); void TREEVIEW_SetTextColor (TREEVIEW_Handle hObj, int Index, GUI_COLOR Color); int TREEVIEW_SetTextIndent (TREEVIEW_Handle hObj, int TextIndent); int TREEVIEW_SetUserData (TREEVIEW_Handle hObj, const void * pSrc, int NumBytes); /********************************************************************* * * Treeview item related functions * ********************************************************************** */ void TREEVIEW_ITEM_Collapse (TREEVIEW_ITEM_Handle hItem); void TREEVIEW_ITEM_CollapseAll(TREEVIEW_ITEM_Handle hItem); TREEVIEW_ITEM_Handle TREEVIEW_ITEM_Create (int IsNode, const char * s, U32 UserData); void TREEVIEW_ITEM_Delete (TREEVIEW_ITEM_Handle hItem); void TREEVIEW_ITEM_Detach (TREEVIEW_ITEM_Handle hItem); void TREEVIEW_ITEM_Expand (TREEVIEW_ITEM_Handle hItem); void TREEVIEW_ITEM_ExpandAll (TREEVIEW_ITEM_Handle hItem); void TREEVIEW_ITEM_GetInfo (TREEVIEW_ITEM_Handle hItem, TREEVIEW_ITEM_INFO * pInfo); void TREEVIEW_ITEM_GetText (TREEVIEW_ITEM_Handle hItem, U8 * pBuffer, int MaxNumBytes); U32 TREEVIEW_ITEM_GetUserData(TREEVIEW_ITEM_Handle hItem); void TREEVIEW_ITEM_SetImage (TREEVIEW_ITEM_Handle hItem, int Index, const GUI_BITMAP * pBitmap); TREEVIEW_ITEM_Handle TREEVIEW_ITEM_SetText (TREEVIEW_ITEM_Handle hItem, const char * s); void TREEVIEW_ITEM_SetUserData(TREEVIEW_ITEM_Handle hItem, U32 UserData); /********************************************************************* * * Managing default values * ********************************************************************** */ GUI_COLOR TREEVIEW_GetDefaultBkColor (int Index); const GUI_FONT * TREEVIEW_GetDefaultFont (void); GUI_COLOR TREEVIEW_GetDefaultLineColor(int Index); GUI_COLOR TREEVIEW_GetDefaultTextColor(int Index); void TREEVIEW_SetDefaultBkColor (int Index, GUI_COLOR Color); void TREEVIEW_SetDefaultFont (const GUI_FONT * pFont); void TREEVIEW_SetDefaultLineColor(int Index, GUI_COLOR Color); void TREEVIEW_SetDefaultTextColor(int Index, GUI_COLOR Color); #if defined(__cplusplus) } #endif #endif // GUI_WINSUPPORT #endif // TREEVIEW_H /*************************** End of file ****************************/