WIP: Update implementing basic changes for icon class, and Fix to memory size display...
[AROS.git] / workbench / system / Wanderer / Classes / iconlist_attributes.h
blob3a3b7b19cfed117666fea447a0dad17b19dfc31d
1 #ifndef _MUI_CLASSES_ICONLIST_ATTRIBUTES_H
2 #define _MUI_CLASSES_ICONLIST_ATTRIBUTES_H
4 /*
5 Copyright 2002-2009, The AROS Development Team. All rights reserved.
6 $Id$
7 */
9 /*** Identifier base ********************************************************/
10 #define MUIB_IconList (MUIB_ZUNE | 0x00042000)
12 #define MUIV_IconList_NextIcon_Start 0
13 #define MUIV_IconList_NextIcon_End 1
15 #define MUIV_IconList_NextIcon_Selected 2
16 #define MUIV_IconList_NextIcon_Visible 3
18 /*** Attributes *************************************************************/
19 #define MUIA_IconList_Clicked (MUIB_IconList | 0x00000001) /* Zune: V1 ..G (struct IconList_Click *) */
20 #define MUIA_IconList_DoubleClick (MUIB_IconList | 0x00000002) /* Zune: V1 ..G BOOL */
21 #define MUIA_IconList_SelectionChanged (MUIB_IconList | 0x00000003) /* Zune: V1 ..GBOOL */
23 #define MUIA_IconList_Width (MUIB_IconList | 0x0000000c) /* Zune: V1 .SG LONG */
24 #define MUIA_IconList_Height (MUIB_IconList | 0x0000000d) /* Zune: V1 .SG LONG */
25 #define MUIA_IconList_IconsMoved (MUIB_IconList | 0x00000010) /* Zune: V1 ..G (struct IconList_Entry *) */
26 #define MUIA_IconList_IconsDropped (MUIB_IconList | 0x00000011) /* Zune: V1 ..G (struct IconList_Entry *) */
27 #define MUIA_IconList_AppWindowDrop (MUIB_IconList | 0x00000012) /* Zune: V1 ..G (struct IconList_Entry *) */
28 #define MUIA_IconList_FocusIcon (MUIB_IconList | 0x00000013) /* Zune: V1 .SG (struct IconList_Entry *) */
30 #define MUIA_IconList_DisplayFlags (MUIB_IconList | 0x00000020) /* Zune: V1 ISG ULONG */
31 #define MUIA_IconList_SortFlags (MUIB_IconList | 0x00000021) /* Zune: V1 ISG ULONG */
34 /* OBSOLETE */
35 //#define MUIA_IconList_Left (MUIB_IconList | 0x0000000a) /* Zune: V1 .SG LONG */
36 //#define MUIA_IconList_Top (MUIB_IconList | 0x0000000b) /* Zune: V1 .SG LONG */
38 /* Configuration Attributes */
39 #define MUIB_IconList_ConfigTags (MUIB_IconList | 0x00000100)
41 #define MUIA_IconList_IconListMode (MUIB_IconList_ConfigTags | 0x00000000) /* Zune: V1 ISG UBYTE */
42 #define MUIA_IconList_LabelText_Mode (MUIB_IconList_ConfigTags | 0x00000001) /* Zune: V1 ISG UBYTE */
43 #define MUIA_IconList_LabelText_Pen (MUIB_IconList_ConfigTags | 0x00000002) /* Zune: V1 ISG UBYTE */
44 #define MUIA_IconList_LabelText_ShadowPen (MUIB_IconList_ConfigTags | 0x00000003) /* Zune: V1 ISG UBYTE */
45 #define MUIA_IconList_LabelInfoText_Font (MUIB_IconList_ConfigTags | 0x00000004) /* Zune: V1 ISG (struct TextFont *) */
46 #define MUIA_IconList_LabelInfoText_Pen (MUIB_IconList_ConfigTags | 0x00000005) /* Zune: V1 ISG UBYTE */
47 #define MUIA_IconList_LabelInfoText_ShadowPen (MUIB_IconList_ConfigTags | 0x00000006) /* Zune: V1 ISG UBYTE */
48 #define MUIA_IconList_LabelText_MaxLineLen (MUIB_IconList_ConfigTags | 0x00000007) /* Zune: V1 ISG ULONG */
49 #define MUIA_IconList_LabelText_MultiLine (MUIB_IconList_ConfigTags | 0x00000008) /* Zune: V1 ISG ULONG */
50 #define MUIA_IconList_LabelText_MultiLineOnFocus (MUIB_IconList_ConfigTags | 0x00000009) /* Zune: V1 ISG BOOL */
52 #define MUIA_IconList_Icon_HorizontalSpacing (MUIB_IconList_ConfigTags | 0x00000010) /* Zune: V1 ISG UBYTE */
53 #define MUIA_IconList_Icon_VerticalSpacing (MUIB_IconList_ConfigTags | 0x00000011) /* Zune: V1 ISG UBYTE */
54 #define MUIA_IconList_Icon_ImageSpacing (MUIB_IconList_ConfigTags | 0x00000012) /* Zune: V1 ISG UBYTE */
55 #define MUIA_IconList_LabelText_HorizontalPadding (MUIB_IconList_ConfigTags | 0x00000013) /* Zune: V1 ISG UBYTE */
56 #define MUIA_IconList_LabelText_VerticalPadding (MUIB_IconList_ConfigTags | 0x00000014) /* Zune: V1 ISG UBYTE */
57 #define MUIA_IconList_LabelText_BorderWidth (MUIB_IconList_ConfigTags | 0x00000015) /* Zune: V1 ISG UBYTE */
58 #define MUIA_IconList_LabelText_BorderHeight (MUIB_IconList_ConfigTags | 0x00000016) /* Zune: V1 ISG UBYTE */
60 #define MUIA_IconList_Rastport (MUIB_IconList | 0x000000FF) /* Zune: V1 .SG (struct RastPort *) */
61 #define MUIA_IconList_BufferRastport (MUIB_IconList | 0x000000FE) /* Zune: V1 ..G BOOL */
63 #define MUIA_IconList_BufferLeft (MUIB_IconList | 0x00000050) /* Zune: V1 ..G LONG */
64 #define MUIA_IconList_BufferTop (MUIB_IconList | 0x00000051) /* Zune: V1 ..G LONG */
65 #define MUIA_IconList_BufferWidth (MUIB_IconList | 0x00000052) /* Zune: V1 ..G LONG */
66 #define MUIA_IconList_BufferHeight (MUIB_IconList | 0x00000053) /* Zune: V1 ..G LONG */
68 /****************************************************************************/
69 /* iconlist rendering control flags */
70 /* SORTFLAGS
71 ((flags & (ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == 0)
72 place icons with coords at fixed locations and sort remainder by name
74 ((flags & (ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == ICONLIST_SORT_BY_NAME)
75 sort icons by Name
77 ((flags & (ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == ICONLIST_SORT_BY_DATE)
78 sort icons by Date
80 ((flags & (ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == ICONLIST_SORT_BY_SIZE)
81 sort icons by Size
83 ((flags & (ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == (ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE))
84 sort icons by Type
86 #define ICONLIST_SORT_DRAWERS_MIXED (1<<0) /* mix folders and files when sorting */
87 #define ICONLIST_SORT_DRAWERS_LAST (1<<1) /* ignored if mixed is set */
88 #define ICONLIST_SORT_REVERSE (1<<2) /* reverse sort direction */
89 #define ICONLIST_SORT_BY_NAME (1<<4)
90 #define ICONLIST_SORT_BY_DATE (1<<5)
91 #define ICONLIST_SORT_BY_SIZE (1<<6)
93 #define ICONLIST_SORT_MASK (ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE)
95 /* DISPLAYFLAGS */
96 #define ICONLIST_DISP_SHOWHIDDEN (1<<0) /* show system "hidden" files */
97 #define ICONLIST_DISP_SHOWINFO (1<<1) /* only show icon(s) which have *.info files */
99 #define ICONLIST_DISP_VERTICAL (1<<7) /* tile icons vertically */
100 #define ICONLIST_DISP_NOICONS (1<<8) /* name only mode */
101 #define ICONLIST_DISP_DETAILS (1<<9) /* name=details mode, icon=?? */
103 #define ICONLIST_DISP_BUFFERED (1<<15) /* Iconlist uses buffered rendering */
105 enum iconlist_ListViewModes
107 ICON_LISTMODE_GRID = 0,
108 ICON_LISTMODE_ROUGH = 1,
109 iconlist_ListViewModesCount
112 enum iconlist_LabelRenderModes
114 ICON_TEXTMODE_OUTLINE = 0,
115 ICON_TEXTMODE_PLAIN = 1,
116 ICON_TEXTMODE_DROPSHADOW = 2,
117 iconlist_LabelRenderModesCount
120 /* Default Icon label rendering settings */
121 // Max no of characters to display on a single line
122 #define ILC_ICONLABEL_MAXLINELEN_DEFAULT 10
123 #define ILC_ICONLABEL_SHORTEST 6
125 /* Default Icon rendering settings */
126 // Spacing between icons ..
127 #define ILC_ICON_HORIZONTALMARGIN_DEFAULT 5
128 #define ILC_ICON_VERTICALMARGIN_DEFAULT 5
130 // Padding between Icon's "image" and label frame
131 #define ILC_ICONLABEL_IMAGEMARGIN_DEFAULT 1
133 // Padding between Icons label text and frame
134 #define ILC_ICONLABEL_HORIZONTALTEXTMARGIN_DEFAULT 4
135 #define ILC_ICONLABEL_VERTICALTEXTMARGIN_DEFAULT 4
137 // Icon's Label frame dimensions
138 #define ILC_ICONLABEL_BORDERWIDTH_DEFAULT 1
139 #define ILC_ICONLABEL_BORDERHEIGHT_DEFAULT 1
141 /*** Identifier base ********************************************************/
142 #define MUIB_IconDrawerList (MUIB_ZUNE | 0x00043000)
144 /*** Attributes *************************************************************/
145 #define MUIA_IconDrawerList_Drawer (MUIB_IconDrawerList | 0x00000000) /* Zune: V1 isg LONG */
147 /*** Identifier base ********************************************************/
148 #define MUIB_IconVolumeList (MUIB_ZUNE | 0x00044000)
150 #endif /* _MUI_CLASSES_ICONLIST_ATTRIBUTES_H */