summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
Diffstat (limited to 'amiga')
-rw-r--r--amiga/gui.c44
-rw-r--r--amiga/libs.c15
-rw-r--r--amiga/libs.h16
3 files changed, 50 insertions, 25 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index 392873636..05c0f1e8c 100644
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -1517,7 +1517,7 @@ static bool ami_gui_hscroll_add(struct gui_window_2 *gwin)
attrs[1].ti_Tag = TAG_DONE;
attrs[1].ti_Data = 0;
- gwin->objects[GID_HSCROLL] = ScrollerObject,
+ gwin->objects[GID_HSCROLL] = ScrollerObj,
GA_ID, GID_HSCROLL,
GA_RelVerify, TRUE,
SCROLLER_Orientation, SORIENT_HORIZ,
@@ -1559,7 +1559,7 @@ static bool ami_gui_vscroll_add(struct gui_window_2 *gwin)
attrs[1].ti_Tag = TAG_DONE;
attrs[1].ti_Data = 0;
- gwin->objects[GID_VSCROLL] = ScrollerObject,
+ gwin->objects[GID_VSCROLL] = ScrollerObj,
GA_ID, GID_VSCROLL,
GA_RelVerify, TRUE,
ICA_TARGET, ICTARGET_IDCMP,
@@ -3148,7 +3148,7 @@ static void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
if(ami_gui_hotlist_scan(ami_tree_get_tree(hotlist_window), &gwin->hotlist_toolbar_list, gwin) > 0) {
gwin->objects[GID_HOTLIST] =
- SpeedBarObject,
+ SpeedBarObj,
GA_ID, GID_HOTLIST,
GA_RelVerify, TRUE,
ICA_TARGET, ICTARGET_IDCMP,
@@ -3157,7 +3157,7 @@ static void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
SpeedBarEnd;
gwin->objects[GID_HOTLISTSEPBAR] =
- BevelObject,
+ BevelObj,
BEVEL_Style, BVS_SBAR_VERT,
BevelEnd;
@@ -3288,7 +3288,7 @@ static void ami_toggletabbar(struct gui_window_2 *gwin, bool show)
attrs[2].ti_Tag = TAG_DONE;
attrs[2].ti_Data = 0;
- gwin->objects[GID_TABS] = ClickTabObject,
+ gwin->objects[GID_TABS] = ClickTabObj,
GA_ID, GID_TABS,
GA_RelVerify, TRUE,
GA_Underscore, 13, // disable kb shortcuts
@@ -3298,7 +3298,7 @@ static void ami_toggletabbar(struct gui_window_2 *gwin, bool show)
CLICKTAB_FlagImage, gwin->objects[GID_TABS_FLAG],
ClickTabEnd;
- gwin->objects[GID_ADDTAB] = ButtonObject,
+ gwin->objects[GID_ADDTAB] = ButtonObj,
GA_ID, GID_ADDTAB,
GA_RelVerify, TRUE,
GA_HintInfo, gwin->helphints[GID_ADDTAB],
@@ -3674,13 +3674,13 @@ gui_window_create(struct browser_window *bw,
if(ClickTabBase->lib_Version < 53)
{
addtabclosegadget = LAYOUT_AddChild;
- g->shared->objects[GID_CLOSETAB] = ButtonObject,
+ g->shared->objects[GID_CLOSETAB] = ButtonObj,
GA_ID, GID_CLOSETAB,
GA_RelVerify, TRUE,
BUTTON_RenderImage, g->shared->objects[GID_CLOSETAB_BM],
ButtonEnd;
- g->shared->objects[GID_TABS] = ClickTabObject,
+ g->shared->objects[GID_TABS] = ClickTabObj,
GA_ID,GID_TABS,
GA_RelVerify,TRUE,
GA_Underscore,13, // disable kb shortcuts
@@ -3688,7 +3688,7 @@ gui_window_create(struct browser_window *bw,
CLICKTAB_LabelTruncate,TRUE,
ClickTabEnd;
- g->shared->objects[GID_ADDTAB] = ButtonObject,
+ g->shared->objects[GID_ADDTAB] = ButtonObj,
GA_ID, GID_ADDTAB,
GA_RelVerify, TRUE,
GA_Text, "+",
@@ -3746,7 +3746,7 @@ gui_window_create(struct browser_window *bw,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_AddChild, g->shared->objects[GID_TOOLBARLAYOUT] = LayoutHObj,
LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_AddChild, g->shared->objects[GID_BACK] = ButtonObject,
+ LAYOUT_AddChild, g->shared->objects[GID_BACK] = ButtonObj,
GA_ID,GID_BACK,
GA_RelVerify,TRUE,
GA_Disabled,TRUE,
@@ -3761,7 +3761,7 @@ gui_window_create(struct browser_window *bw,
ButtonEnd,
CHILD_WeightedWidth,0,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, g->shared->objects[GID_FORWARD] = ButtonObject,
+ LAYOUT_AddChild, g->shared->objects[GID_FORWARD] = ButtonObj,
GA_ID,GID_FORWARD,
GA_RelVerify,TRUE,
GA_Disabled,TRUE,
@@ -3776,7 +3776,7 @@ gui_window_create(struct browser_window *bw,
ButtonEnd,
CHILD_WeightedWidth,0,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, g->shared->objects[GID_STOP] = ButtonObject,
+ LAYOUT_AddChild, g->shared->objects[GID_STOP] = ButtonObj,
GA_ID,GID_STOP,
GA_RelVerify,TRUE,
GA_HintInfo, g->shared->helphints[GID_STOP],
@@ -3790,7 +3790,7 @@ gui_window_create(struct browser_window *bw,
ButtonEnd,
CHILD_WeightedWidth,0,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, g->shared->objects[GID_RELOAD] = ButtonObject,
+ LAYOUT_AddChild, g->shared->objects[GID_RELOAD] = ButtonObj,
GA_ID,GID_RELOAD,
GA_RelVerify,TRUE,
GA_HintInfo, g->shared->helphints[GID_RELOAD],
@@ -3804,7 +3804,7 @@ gui_window_create(struct browser_window *bw,
ButtonEnd,
CHILD_WeightedWidth,0,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, g->shared->objects[GID_HOME] = ButtonObject,
+ LAYOUT_AddChild, g->shared->objects[GID_HOME] = ButtonObj,
GA_ID,GID_HOME,
GA_RelVerify,TRUE,
GA_HintInfo, g->shared->helphints[GID_HOME],
@@ -3820,7 +3820,7 @@ gui_window_create(struct browser_window *bw,
CHILD_WeightedHeight,0,
LAYOUT_AddChild, LayoutHObj, // FavIcon, URL bar and hotlist star
LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_AddChild, g->shared->objects[GID_ICON] = SpaceObject,
+ LAYOUT_AddChild, g->shared->objects[GID_ICON] = SpaceObj,
GA_ID, GID_ICON,
SPACE_MinWidth, 16,
SPACE_MinHeight, 16,
@@ -3840,7 +3840,7 @@ gui_window_create(struct browser_window *bw,
STRINGVIEW_Header, URLHistory_GetList(),
TAG_DONE),
- LAYOUT_AddChild, g->shared->objects[GID_FAVE] = ButtonObject,
+ LAYOUT_AddChild, g->shared->objects[GID_FAVE] = ButtonObj,
GA_ID, GID_FAVE,
GA_RelVerify, TRUE,
// GA_HintInfo, g->shared->helphints[GID_FAVE],
@@ -3855,7 +3855,7 @@ gui_window_create(struct browser_window *bw,
LAYOUT_WeightBar, TRUE,
LAYOUT_AddChild, LayoutHObj,
LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_AddChild, g->shared->objects[GID_SEARCH_ICON] = ChooserObject,
+ LAYOUT_AddChild, g->shared->objects[GID_SEARCH_ICON] = ChooserObj,
GA_ID, GID_SEARCH_ICON,
GA_RelVerify, TRUE,
CHOOSER_DropDown, TRUE,
@@ -3864,7 +3864,7 @@ gui_window_create(struct browser_window *bw,
ChooserEnd,
CHILD_WeightedWidth,0,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, g->shared->objects[GID_SEARCHSTRING] =StringObject,
+ LAYOUT_AddChild, g->shared->objects[GID_SEARCHSTRING] = StringObj,
GA_ID,GID_SEARCHSTRING,
STRINGA_TextVal, NULL,
GA_RelVerify,TRUE,
@@ -3872,7 +3872,7 @@ gui_window_create(struct browser_window *bw,
StringEnd,
LayoutEnd,
CHILD_WeightedWidth, nsoption_int(web_search_width),
- LAYOUT_AddChild, g->shared->objects[GID_THROBBER] = SpaceObject,
+ LAYOUT_AddChild, g->shared->objects[GID_THROBBER] = SpaceObj,
GA_ID,GID_THROBBER,
SPACE_MinWidth,throbber_width,
SPACE_MinHeight,throbber_height,
@@ -3883,7 +3883,7 @@ gui_window_create(struct browser_window *bw,
CHILD_WeightedHeight,0,
LayoutEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddImage, BevelObject,
+ LAYOUT_AddImage, BevelObj,
BEVEL_Style, BVS_SBAR_VERT,
BevelEnd,
CHILD_WeightedHeight, 0,
@@ -3907,7 +3907,7 @@ gui_window_create(struct browser_window *bw,
CHILD_WeightedHeight,0,
LAYOUT_AddChild, g->shared->objects[GID_VSCROLLLAYOUT] = LayoutHObj,
LAYOUT_AddChild, g->shared->objects[GID_HSCROLLLAYOUT] = LayoutVObj,
- LAYOUT_AddChild, g->shared->objects[GID_BROWSER] = SpaceObject,
+ LAYOUT_AddChild, g->shared->objects[GID_BROWSER] = SpaceObj,
GA_ID,GID_BROWSER,
SPACE_Transparent,TRUE,
SpaceEnd,
@@ -3954,7 +3954,7 @@ gui_window_create(struct browser_window *bw,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_AddChild, g->shared->objects[GID_VSCROLLLAYOUT] = LayoutHObj,
LAYOUT_AddChild, g->shared->objects[GID_HSCROLLLAYOUT] = LayoutVObj,
- LAYOUT_AddChild, g->shared->objects[GID_BROWSER] = SpaceObject,
+ LAYOUT_AddChild, g->shared->objects[GID_BROWSER] = SpaceObj,
GA_ID,GID_BROWSER,
SPACE_Transparent,TRUE,
SpaceEnd,
diff --git a/amiga/libs.c b/amiga/libs.c
index 42597f6ef..b6b3eac47 100644
--- a/amiga/libs.c
+++ b/amiga/libs.c
@@ -81,6 +81,7 @@
LOG(("Opening %s v%d", CLASS, CLASSVER)); \
if((PREFIX##Base = OpenClass(CLASS, CLASSVER, &PREFIX##Class))) { \
if(NEEDINTERFACE == true) { \
+ LOG((" + interface")); \
I##PREFIX = (struct PREFIX##IFace *)GetInterface((struct Library *)PREFIX##Base, "main", 1, NULL); \
if(I##PREFIX == NULL) { \
LOG(("Failed to get main interface v1 of %s", CLASS)); \
@@ -99,9 +100,9 @@
if(PREFIX##Base) CloseClass(PREFIX##Base);
#define AMINS_CLASS_STRUCT(PREFIX) \
- struct ClassLibrary *PREFIX##Base; \
- struct PREFIX##IFace *I##PREFIX; \
- Class *PREFIX##Class;
+ struct ClassLibrary *PREFIX##Base = NULL; \
+ struct PREFIX##IFace *I##PREFIX = NULL; \
+ Class *PREFIX##Class = NULL;
#else
#define AMINS_LIB_OPEN(LIB, LIBVER, PREFIX, INTERFACE, INTVER, FAIL) \
@@ -168,6 +169,7 @@ AMINS_LIB_STRUCT(Workbench);
AMINS_CLASS_STRUCT(ARexx);
AMINS_CLASS_STRUCT(Bevel);
AMINS_CLASS_STRUCT(BitMap);
+AMINS_CLASS_STRUCT(Button);
AMINS_CLASS_STRUCT(Chooser);
AMINS_CLASS_STRUCT(CheckBox);
AMINS_CLASS_STRUCT(ClickTab);
@@ -230,11 +232,13 @@ bool ami_libs_open(void)
* We get the class pointer once and used our stored copy.
* NB: the last argument needs to be "true" whilst we still have old macros
* lying around, and then "false" unless the class also has library functions.
+ * On OS4 these must be opened *after* intuition.library.
*/
AMINS_CLASS_OPEN("arexx.class", 44, ARexx, AREXX, true)
AMINS_CLASS_OPEN("images/bevel.image", 44, Bevel, BEVEL, true)
AMINS_CLASS_OPEN("images/bitmap.image", 44, BitMap, BITMAP, true)
+ AMINS_CLASS_OPEN("gadgets/button.gadget", 44, Button, BUTTON, true)
AMINS_CLASS_OPEN("gadgets/checkbox.gadget", 44, CheckBox, CHECKBOX, true)
AMINS_CLASS_OPEN("gadgets/chooser.gadget", 44, Chooser, CHOOSER, true)
AMINS_CLASS_OPEN("gadgets/clicktab.gadget", 44, ClickTab, CLICKTAB, true)
@@ -258,9 +262,13 @@ bool ami_libs_open(void)
void ami_libs_close(void)
{
+ /* BOOPSI Classes.
+ * On OS4 these must be closed *before* intuition.library
+ */
AMINS_CLASS_CLOSE(ARexx)
AMINS_CLASS_CLOSE(Bevel)
AMINS_CLASS_CLOSE(BitMap)
+ AMINS_CLASS_CLOSE(Button)
AMINS_CLASS_CLOSE(CheckBox)
AMINS_CLASS_CLOSE(Chooser)
AMINS_CLASS_CLOSE(ClickTab)
@@ -279,6 +287,7 @@ void ami_libs_close(void)
AMINS_CLASS_CLOSE(String)
AMINS_CLASS_CLOSE(Window)
+ /* Libraries */
AMINS_LIB_CLOSE(Asl)
AMINS_LIB_CLOSE(DataTypes)
AMINS_LIB_CLOSE(Diskfont)
diff --git a/amiga/libs.h b/amiga/libs.h
index 1eb31f7db..c80c61e73 100644
--- a/amiga/libs.h
+++ b/amiga/libs.h
@@ -21,15 +21,31 @@
#include <intuition/classes.h>
/* BOOPSI classes */
+extern Class *BevelClass;
extern Class *BitMapClass;
+extern Class *ButtonClass;
+extern Class *ChooserClass;
+extern Class *ClickTabClass;
extern Class *LayoutClass;
extern Class *ListBrowserClass;
+extern Class *ScrollerClass;
+extern Class *SpaceClass;
+extern Class *SpeedBarClass;
+extern Class *StringClass;
extern Class *WindowClass;
/* New improved ReAction macros! */
+#define BevelObj NewObject(BevelClass, NULL
#define BitMapObj NewObject(BitMapClass, NULL
+#define ButtonObj NewObject(ButtonClass, NULL
+#define ChooserObj NewObject(ChooserClass, NULL
+#define ClickTabObj NewObject(ClickTabClass, NULL
#define LayoutHObj NewObject(LayoutClass, NULL, LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ
#define LayoutVObj NewObject(LayoutClass, NULL, LAYOUT_Orientation, LAYOUT_ORIENT_VERT
+#define ScrollerObj NewObject(ScrollerClass, NULL
+#define SpaceObj NewObject(SpaceClass, NULL
+#define SpeedBarObj NewObject(ScrollerClass, NULL
+#define StringObj NewObject(StringClass, NULL
#define WindowObj NewObject(WindowClass, NULL
/* Functions */