Enable asyncio.library.
[AROS-Contrib.git] / bgui / checkboxclass.c
blob1d961d8957c9de87ed0d993fb22d46b6e421533a
1 /*
2 * @(#) $Header$
4 * BGUI library
5 * checkboxclass.c
7 * (C) Copyright 1998 Manuel Lemos.
8 * (C) Copyright 1996-1997 Ian J. Einman.
9 * (C) Copyright 1993-1996 Jaba Development.
10 * (C) Copyright 1993-1996 Jan van den Baard.
11 * All Rights Reserved.
13 * $Log$
14 * Revision 42.2 2004/06/16 20:16:48 verhaegs
15 * Use METHODPROTO, METHOD_END and REGFUNCPROTOn where needed.
17 * Revision 42.1 2000/05/15 19:27:00 stegerg
18 * another hundreds of REG() macro replacements in func headers/protos.
20 * Revision 42.0 2000/05/09 22:08:35 mlemos
21 * Bumped to revision 42.0 before handing BGUI to AROS team
23 * Revision 41.11 2000/05/09 19:54:01 mlemos
24 * Merged with the branch Manuel_Lemos_fixes.
26 * Revision 41.10 1998/02/25 21:11:45 mlemos
27 * Bumping to 41.10
29 * Revision 1.1 1998/02/25 17:07:47 mlemos
30 * Ian sources
35 #include "include/classdefs.h"
37 /// OM_NEW
39 * Create a shiny new object.
41 METHOD(CBClassNew, struct opSet *, ops)
43 IPTR rc = 0;
44 Object *check;
45 struct TagItem ttags[2], *tags;
48 * Get us a checkbox image.
50 if ((check = BGUI_NewObject(BGUI_VECTOR_IMAGE, VIT_BuiltIn, BUILTIN_CHECKMARK, VIT_DriPen, TEXTPEN, TAG_DONE)))
52 ttags[0].ti_Tag = BUTTON_SelectedVector;
53 ttags[0].ti_Data = (IPTR)check;
54 ttags[1].ti_Tag = TAG_MORE;
55 ttags[1].ti_Data = (IPTR)ops->ops_AttrList;
57 tags = DefTagList(BGUI_CHECKBOX_GADGET, ttags);
60 * Let the superclass setup an object for us.
62 if ((rc = NewSuperObject(cl, obj, tags)))
65 * No recessed rendering.
67 DoSetMethodNG((Object *)rc, FRM_EdgesOnly, FALSE, GA_ToggleSelect, TRUE, TAG_DONE);
69 else
71 AsmDoMethod(check, OM_DISPOSE);
73 FreeTagItems(tags);
75 return rc;
77 METHOD_END
78 ///
79 /// Class initialization.
81 * Class function table.
83 STATIC DPFUNC ClassFunc[] = {
84 { OM_NEW, CBClassNew, },
85 { DF_END },
89 * Initialize the checkbox class.
91 makeproto Class *InitCheckBoxClass(void)
93 return BGUI_MakeClass(CLASS_SuperClassBGUI, BGUI_BUTTON_GADGET,
94 CLASS_DFTable, ClassFunc,
95 TAG_DONE);
97 ///