Merging NList MCC 0.119 into the main branch.
[AROS.git] / workbench / classes / zune / nlist / nlistview_mcc / private.h
blob81a408c51238b1a26e5ab1a1603c63a737683f6a
1 #ifndef MUI_NListview_priv_MCC_H
2 #define MUI_NListview_priv_MCC_H
4 /***************************************************************************
6 NListview.mcc - New Listview MUI Custom Class
7 Registered MUI class, Serial Number: 1d51 (0x9d510020 to 0x9d51002F)
9 Copyright (C) 1996-2013 by Gilles Masson,
10 Carsten Scholling <aphaso@aphaso.de>,
11 Przemyslaw Grunchala,
12 Sebastian Bauer <sebauer@t-online.de>,
13 Jens Maus <mail@jens-maus.de>
15 This library is free software; you can redistribute it and/or
16 modify it under the terms of the GNU Lesser General Public
17 License as published by the Free Software Foundation; either
18 version 2.1 of the License, or (at your option) any later version.
20 This library is distributed in the hope that it will be useful,
21 but WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 Lesser General Public License for more details.
25 NList classes Support Site: http://www.sf.net/projects/nlist-classes
27 $Id$
29 ***************************************************************************/
31 #include "amiga-align.h"
32 #include "NListview_mcc.h"
33 #include "default-align.h"
35 #include "Debug.h"
37 #include <mcc_common.h>
39 struct NLVData
41 Object *LI_NList;
42 Object *PR_Vert;
43 Object *PR_Horiz;
44 Object *Group;
45 BOOL Vert_Attached;
46 BOOL Horiz_Attached;
47 LONG VertSB;
48 LONG HorizSB;
49 LONG Vert_ScrollBar;
50 LONG Horiz_ScrollBar;
51 BOOL sem;
52 BOOL SETUP;
53 UBYTE ControlChar;
54 struct MUI_EventHandlerNode eh;
57 /// xget()
58 // Gets an attribute value from a MUI object
59 IPTR xget(Object *obj, const IPTR attr);
60 #if defined(__GNUC__)
61 // please note that we do not evaluate the return value of GetAttr()
62 // as some attributes (e.g. MUIA_Selected) always return FALSE, even
63 // when they are supported by the object. But setting b=0 right before
64 // the GetAttr() should catch the case when attr doesn't exist at all
65 #define xget(OBJ, ATTR) ({IPTR b=0; GetAttr(ATTR, OBJ, &b); b;})
66 #endif
67 ///
69 #define LIBVER(lib) ((struct Library *)lib)->lib_Version
70 #define LIBREV(lib) ((struct Library *)lib)->lib_Revision
71 #define VERSION_IS_AT_LEAST(ver, rev, minver, minrev) (((ver) > (minver)) || ((ver) == (minver) && (rev) == (minrev)) || ((ver) == (minver) && (rev) > (minrev)))
72 #define LIB_VERSION_IS_AT_LEAST(lib, minver, minrev) VERSION_IS_AT_LEAST(((struct Library *)(lib))->lib_Version, ((struct Library *)(lib))->lib_Revision, minver, minrev)
74 #endif /* MUI_NListview_priv_MCC_H */