Open BOOPSI/ReAction classes using the new-style methods.

Create some alternative NewObject macros and make some code use them.
This commit is contained in:
Chris Young 2015-01-25 00:27:53 +00:00
parent f63742d7c2
commit e89072b3d0
4 changed files with 161 additions and 99 deletions

View File

@ -3643,19 +3643,19 @@ gui_window_create(struct browser_window *bw,
ami_get_theme_filename(fave, "theme_fave", false);
ami_get_theme_filename(unfave, "theme_unfave", false);
g->shared->objects[GID_FAVE_ADD] = BitMapObject,
g->shared->objects[GID_FAVE_ADD] = BitMapObj,
BITMAP_SourceFile, fave,
BITMAP_Screen, scrn,
BITMAP_Masking, TRUE,
BitMapEnd;
g->shared->objects[GID_FAVE_RMV] = BitMapObject,
g->shared->objects[GID_FAVE_RMV] = BitMapObj,
BITMAP_SourceFile, unfave,
BITMAP_Screen, scrn,
BITMAP_Masking, TRUE,
BitMapEnd;
g->shared->objects[GID_ADDTAB_BM] = BitMapObject,
g->shared->objects[GID_ADDTAB_BM] = BitMapObj,
BITMAP_SourceFile, addtab,
BITMAP_SelectSourceFile, addtab_s,
BITMAP_DisabledSourceFile, addtab_g,
@ -3663,7 +3663,7 @@ gui_window_create(struct browser_window *bw,
BITMAP_Masking, TRUE,
BitMapEnd;
g->shared->objects[GID_CLOSETAB_BM] = BitMapObject,
g->shared->objects[GID_CLOSETAB_BM] = BitMapObj,
BITMAP_SourceFile, closetab,
BITMAP_SelectSourceFile, closetab_s,
BITMAP_DisabledSourceFile, closetab_g,
@ -3697,7 +3697,7 @@ gui_window_create(struct browser_window *bw,
}
else
{
g->shared->objects[GID_TABS_FLAG] = BitMapObject,
g->shared->objects[GID_TABS_FLAG] = BitMapObj,
BITMAP_SourceFile, tabthrobber,
BITMAP_Screen,scrn,
BITMAP_Masking,TRUE,
@ -3706,7 +3706,7 @@ gui_window_create(struct browser_window *bw,
LOG(("Creating window object"));
g->shared->objects[OID_MAIN] = WindowObject,
g->shared->objects[OID_MAIN] = WindowObj,
#ifndef __amigaos4__
WA_Width, 100,
WA_Height, 100,
@ -3742,16 +3742,16 @@ gui_window_create(struct browser_window *bw,
WINDOW_BuiltInScroll, TRUE,
WINDOW_GadgetHelp, TRUE,
WINDOW_UserData, g->shared,
WINDOW_ParentGroup, g->shared->objects[GID_MAIN] = VGroupObject,
WINDOW_ParentGroup, g->shared->objects[GID_MAIN] = LayoutVObj,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_AddChild, g->shared->objects[GID_TOOLBARLAYOUT] = HGroupObject,
LAYOUT_AddChild, g->shared->objects[GID_TOOLBARLAYOUT] = LayoutHObj,
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_AddChild, g->shared->objects[GID_BACK] = ButtonObject,
GA_ID,GID_BACK,
GA_RelVerify,TRUE,
GA_Disabled,TRUE,
GA_HintInfo, g->shared->helphints[GID_BACK],
BUTTON_RenderImage,BitMapObject,
BUTTON_RenderImage,BitMapObj,
BITMAP_SourceFile,nav_west,
BITMAP_SelectSourceFile,nav_west_s,
BITMAP_DisabledSourceFile,nav_west_g,
@ -3766,7 +3766,7 @@ gui_window_create(struct browser_window *bw,
GA_RelVerify,TRUE,
GA_Disabled,TRUE,
GA_HintInfo, g->shared->helphints[GID_FORWARD],
BUTTON_RenderImage,BitMapObject,
BUTTON_RenderImage,BitMapObj,
BITMAP_SourceFile,nav_east,
BITMAP_SelectSourceFile,nav_east_s,
BITMAP_DisabledSourceFile,nav_east_g,
@ -3780,7 +3780,7 @@ gui_window_create(struct browser_window *bw,
GA_ID,GID_STOP,
GA_RelVerify,TRUE,
GA_HintInfo, g->shared->helphints[GID_STOP],
BUTTON_RenderImage,BitMapObject,
BUTTON_RenderImage,BitMapObj,
BITMAP_SourceFile,stop,
BITMAP_SelectSourceFile,stop_s,
BITMAP_DisabledSourceFile,stop_g,
@ -3794,7 +3794,7 @@ gui_window_create(struct browser_window *bw,
GA_ID,GID_RELOAD,
GA_RelVerify,TRUE,
GA_HintInfo, g->shared->helphints[GID_RELOAD],
BUTTON_RenderImage,BitMapObject,
BUTTON_RenderImage,BitMapObj,
BITMAP_SourceFile,reload,
BITMAP_SelectSourceFile,reload_s,
BITMAP_DisabledSourceFile,reload_g,
@ -3808,7 +3808,7 @@ gui_window_create(struct browser_window *bw,
GA_ID,GID_HOME,
GA_RelVerify,TRUE,
GA_HintInfo, g->shared->helphints[GID_HOME],
BUTTON_RenderImage,BitMapObject,
BUTTON_RenderImage,BitMapObj,
BITMAP_SourceFile,home,
BITMAP_SelectSourceFile,home_s,
BITMAP_DisabledSourceFile,home_g,
@ -3818,7 +3818,7 @@ gui_window_create(struct browser_window *bw,
ButtonEnd,
CHILD_WeightedWidth,0,
CHILD_WeightedHeight,0,
LAYOUT_AddChild, HGroupObject, // FavIcon, URL bar and hotlist star
LAYOUT_AddChild, LayoutHObj, // FavIcon, URL bar and hotlist star
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_AddChild, g->shared->objects[GID_ICON] = SpaceObject,
GA_ID, GID_ICON,
@ -3853,7 +3853,7 @@ gui_window_create(struct browser_window *bw,
// GA_RelVerify, TRUE,
// LAYOUT_RelVerify, TRUE,
LAYOUT_WeightBar, TRUE,
LAYOUT_AddChild, HGroupObject,
LAYOUT_AddChild, LayoutHObj,
LAYOUT_VertAlignment, LALIGN_CENTER,
LAYOUT_AddChild, g->shared->objects[GID_SEARCH_ICON] = ChooserObject,
GA_ID, GID_SEARCH_ICON,
@ -3887,11 +3887,11 @@ gui_window_create(struct browser_window *bw,
BEVEL_Style, BVS_SBAR_VERT,
BevelEnd,
CHILD_WeightedHeight, 0,
LAYOUT_AddChild, g->shared->objects[GID_HOTLISTLAYOUT] = VGroupObject,
LAYOUT_AddChild, g->shared->objects[GID_HOTLISTLAYOUT] = LayoutVObj,
LAYOUT_SpaceInner, FALSE,
LayoutEnd,
CHILD_WeightedHeight,0,
LAYOUT_AddChild, g->shared->objects[GID_TABLAYOUT] = HGroupObject,
LAYOUT_AddChild, g->shared->objects[GID_TABLAYOUT] = LayoutHObj,
LAYOUT_SpaceInner,FALSE,
addtabclosegadget, g->shared->objects[GID_CLOSETAB],
CHILD_WeightedWidth,0,
@ -3905,8 +3905,8 @@ gui_window_create(struct browser_window *bw,
CHILD_WeightedHeight,0,
LayoutEnd,
CHILD_WeightedHeight,0,
LAYOUT_AddChild, g->shared->objects[GID_VSCROLLLAYOUT] = HGroupObject,
LAYOUT_AddChild, g->shared->objects[GID_HSCROLLLAYOUT] = VGroupObject,
LAYOUT_AddChild, g->shared->objects[GID_VSCROLLLAYOUT] = LayoutHObj,
LAYOUT_AddChild, g->shared->objects[GID_HSCROLLLAYOUT] = LayoutVObj,
LAYOUT_AddChild, g->shared->objects[GID_BROWSER] = SpaceObject,
GA_ID,GID_BROWSER,
SPACE_Transparent,TRUE,
@ -3923,7 +3923,7 @@ gui_window_create(struct browser_window *bw,
g->shared->tabs = 0;
g->tab_node = NULL;
g->shared->objects[OID_MAIN] = WindowObject,
g->shared->objects[OID_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Activate, TRUE,
WA_DepthGadget, FALSE,
@ -3950,10 +3950,10 @@ gui_window_create(struct browser_window *bw,
WINDOW_SharedPort,sport,
WINDOW_UserData,g->shared,
WINDOW_BuiltInScroll,TRUE,
WINDOW_ParentGroup, g->shared->objects[GID_MAIN] = HGroupObject,
WINDOW_ParentGroup, g->shared->objects[GID_MAIN] = LayoutHObj,
LAYOUT_SpaceOuter, TRUE,
LAYOUT_AddChild, g->shared->objects[GID_VSCROLLLAYOUT] = HGroupObject,
LAYOUT_AddChild, g->shared->objects[GID_HSCROLLLAYOUT] = VGroupObject,
LAYOUT_AddChild, g->shared->objects[GID_VSCROLLLAYOUT] = LayoutHObj,
LAYOUT_AddChild, g->shared->objects[GID_HSCROLLLAYOUT] = LayoutVObj,
LAYOUT_AddChild, g->shared->objects[GID_BROWSER] = SpaceObject,
GA_ID,GID_BROWSER,
SPACE_Transparent,TRUE,
@ -4907,7 +4907,7 @@ static nserror gui_search_web_provider_update(const char *provider_name,
if(gwin->search_bm != NULL)
DisposeObject(gwin->search_bm);
gwin->search_bm = BitMapObject,
gwin->search_bm = BitMapObj,
BITMAP_Screen, scrn,
BITMAP_Width, 16,
BITMAP_Height, 16,
@ -5161,7 +5161,7 @@ Object *ami_gui_splash_open(void)
struct TextAttr tattr;
struct TextFont *tfont;
win_obj = WindowObject,
win_obj = WindowObj,
#ifdef __amigaos4__
WA_ToolBox, TRUE,
#else
@ -5173,8 +5173,8 @@ Object *ami_gui_splash_open(void)
WINDOW_Position, WPOS_CENTERSCREEN,
WINDOW_LockWidth, TRUE,
WINDOW_LockHeight, TRUE,
WINDOW_ParentGroup, VGroupObject,
LAYOUT_AddImage, bm_obj = BitMapObject,
WINDOW_ParentGroup, LayoutVObj,
LAYOUT_AddImage, bm_obj = BitMapObj,
BITMAP_SourceFile, "PROGDIR:Resources/splash.png",
BITMAP_Screen, wbscreen,
BITMAP_Precision, PRECISION_IMAGE,

View File

@ -24,13 +24,14 @@
#include "utils/log.h"
#include <proto/exec.h>
#include <proto/intuition.h>
#include <proto/utility.h>
#ifdef __amigaos4__
#define AMINS_LIB_OPEN(LIB, LIBVER, PREFIX, INTERFACE, INTVER, FAIL) \
LOG(("Opening %s v%d", LIB, LIBVER)); \
if((PREFIX##Base = OpenLibrary(LIB, LIBVER))) { \
I##PREFIX = (struct PREFIX##IFace *)GetInterface(PREFIX##Base, INTERFACE, INTVER, NULL); \
if((PREFIX##Base = (struct PREFIX##Base *)OpenLibrary(LIB, LIBVER))) { \
I##PREFIX = (struct PREFIX##IFace *)GetInterface((struct Library *)PREFIX##Base, INTERFACE, INTVER, NULL); \
if(I##PREFIX == NULL) { \
LOG(("Failed to get %s interface v%d of %s", INTERFACE, INTVER, LIB)); \
} \
@ -46,15 +47,41 @@
#define AMINS_LIB_CLOSE(PREFIX) \
if(I##PREFIX) DropInterface((struct Interface *)I##PREFIX); \
if(PREFIX##Base) CloseLibrary(PREFIX##Base);
if(PREFIX##Base) CloseLibrary((struct Library *)PREFIX##Base);
#define AMINS_LIB_STRUCT(PREFIX) \
struct Library *PREFIX##Base; \
struct PREFIX##Base *PREFIX##Base; \
struct PREFIX##IFace *I##PREFIX;
#define AMINS_CLASS_OPEN(CLASS, CLASSVER, PREFIX, CLASSGET, NEEDINTERFACE) \
LOG(("Opening %s v%d", CLASS, CLASSVER)); \
if((PREFIX##Base = OpenClass(CLASS, CLASSVER, &PREFIX##Class))) { \
if(NEEDINTERFACE == true) { \
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)); \
} \
} \
} else { \
STRPTR error = ASPrintf("Unable to open %s v%d (fatal error)", CLASS, CLASSVER); \
ami_misc_fatal_error(error); \
FreeVec(error); \
return false; \
}
#define AMINS_CLASS_CLOSE(PREFIX) \
if(I##PREFIX) DropInterface((struct Interface *)I##PREFIX); \
if(PREFIX##Base) CloseClass(PREFIX##Base);
#define AMINS_CLASS_STRUCT(PREFIX) \
struct ClassLibrary *PREFIX##Base; \
struct PREFIX##IFace *I##PREFIX; \
Class *PREFIX##Class;
#else
#define AMINS_LIB_OPEN(LIB, LIBVER, PREFIX, INTERFACE, INTVER, FAIL) \
LOG(("Opening %s v%d", LIB, LIBVER)); \
if((PREFIX##Base = OpenLibrary(LIB, LIBVER))) { \
if((PREFIX##Base = (struct PREFIX##Base *)OpenLibrary(LIB, LIBVER))) { \
} else { \
LOG(("Failed to open %s v%d", LIB, LIBVER)); \
if(FAIL == true) { \
@ -69,7 +96,26 @@
if(PREFIX##Base) CloseLibrary(PREFIX##Base);
#define AMINS_LIB_STRUCT(PREFIX) \
struct Library *PREFIX##Base;
struct PREFIX##Base *PREFIX##Base;
#define AMINS_CLASS_OPEN(CLASS, CLASSVER, PREFIX, CLASSGET, NEEDINTERFACE) \
LOG(("Opening %s v%d", CLASS, CLASSVER)); \
if((PREFIX##Base = (struct PREFIX##Base *)OpenLibrary(CLASS, CLASSVER))) { \
PREFIX##Class = CLASSGET##_GetClass(); \
} else { \
STRPTR error = ASPrintf("Unable to open %s v%d (fatal error)", CLASS, CLASSVER); \
ami_misc_fatal_error(error); \
FreeVec(error); \
return false; \
}
#define AMINS_CLASS_CLOSE(PREFIX) \
if(PREFIX##Base) CloseLibrary((struct Library *)PREFIX##Base);
#define AMINS_CLASS_STRUCT(PREFIX) \
struct PREFIX##Base *PREFIX##Base; \
Class *PREFIX##Class;
#endif
#define GraphicsBase GfxBase /* graphics.library is a bit weird */
@ -77,7 +123,7 @@
#ifdef __amigaos4__
AMINS_LIB_STRUCT(Application);
#else
struct UtilityBase *UtilityBase; /* AMINS_LIB_STRUCT(Utility) */
AMINS_LIB_STRUCT(Utility)
#endif
AMINS_LIB_STRUCT(Asl);
AMINS_LIB_STRUCT(DataTypes);
@ -93,26 +139,26 @@ AMINS_LIB_STRUCT(Locale);
AMINS_LIB_STRUCT(P96);
AMINS_LIB_STRUCT(Workbench);
AMINS_LIB_STRUCT(ARexx);
AMINS_LIB_STRUCT(Bevel);
AMINS_LIB_STRUCT(BitMap);
AMINS_LIB_STRUCT(Chooser);
AMINS_LIB_STRUCT(CheckBox);
AMINS_LIB_STRUCT(ClickTab);
AMINS_LIB_STRUCT(FuelGauge);
AMINS_LIB_STRUCT(GetFile);
AMINS_LIB_STRUCT(GetFont);
AMINS_LIB_STRUCT(GetScreenMode);
AMINS_LIB_STRUCT(Integer);
AMINS_LIB_STRUCT(Label);
AMINS_LIB_STRUCT(Layout);
AMINS_LIB_STRUCT(ListBrowser);
AMINS_LIB_STRUCT(RadioButton);
AMINS_LIB_STRUCT(Scroller);
AMINS_LIB_STRUCT(Space);
AMINS_LIB_STRUCT(SpeedBar);
AMINS_LIB_STRUCT(String);
AMINS_LIB_STRUCT(Window);
AMINS_CLASS_STRUCT(ARexx);
AMINS_CLASS_STRUCT(Bevel);
AMINS_CLASS_STRUCT(BitMap);
AMINS_CLASS_STRUCT(Chooser);
AMINS_CLASS_STRUCT(CheckBox);
AMINS_CLASS_STRUCT(ClickTab);
AMINS_CLASS_STRUCT(FuelGauge);
AMINS_CLASS_STRUCT(GetFile);
AMINS_CLASS_STRUCT(GetFont);
AMINS_CLASS_STRUCT(GetScreenMode);
AMINS_CLASS_STRUCT(Integer);
AMINS_CLASS_STRUCT(Label);
AMINS_CLASS_STRUCT(Layout);
AMINS_CLASS_STRUCT(ListBrowser);
AMINS_CLASS_STRUCT(RadioButton);
AMINS_CLASS_STRUCT(Scroller);
AMINS_CLASS_STRUCT(Space);
AMINS_CLASS_STRUCT(SpeedBar);
AMINS_CLASS_STRUCT(String);
AMINS_CLASS_STRUCT(Window);
bool ami_libs_open(void)
@ -154,57 +200,58 @@ bool ami_libs_open(void)
*/
/* BOOPSI classes.
* \todo These should be opened using OpenClass(), however as
* the macros all use the deprecated _GetClass() functions,
* we may as well just open them normally for now.
* Opened using class functions rather than the old-fashioned method.
* 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.
*/
AMINS_LIB_OPEN("arexx.class", 44, ARexx, "main", 1, true)
AMINS_LIB_OPEN("images/bevel.image", 44, Bevel, "main", 1, true)
AMINS_LIB_OPEN("images/bitmap.image", 44, BitMap, "main", 1, true)
AMINS_LIB_OPEN("gadgets/checkbox.gadget", 44, CheckBox, "main", 1, true)
AMINS_LIB_OPEN("gadgets/chooser.gadget", 44, Chooser, "main", 1, true)
AMINS_LIB_OPEN("gadgets/clicktab.gadget", 44, ClickTab, "main", 1, true)
AMINS_LIB_OPEN("gadgets/fuelgauge.gadget", 44, FuelGauge, "main", 1, true)
AMINS_LIB_OPEN("gadgets/getfile.gadget", 44, GetFile, "main", 1, true)
AMINS_LIB_OPEN("gadgets/getfont.gadget", 44, GetFont, "main", 1, true)
AMINS_LIB_OPEN("gadgets/getscreenmode.gadget", 44, GetScreenMode, "main", 1, true)
AMINS_LIB_OPEN("gadgets/integer.gadget", 44, Integer, "main", 1, true)
AMINS_LIB_OPEN("images/label.image", 44, Label, "main", 1, true)
AMINS_LIB_OPEN("gadgets/layout.gadget", 44, Layout, "main", 1, true)
AMINS_LIB_OPEN("gadgets/listbrowser.gadget", 44, ListBrowser, "main", 1, true)
AMINS_LIB_OPEN("gadgets/radiobutton.gadget", 44, RadioButton, "main", 1, true)
AMINS_LIB_OPEN("gadgets/scroller.gadget", 44, Scroller, "main", 1, true)
AMINS_LIB_OPEN("gadgets/space.gadget", 44, Space, "main", 1, true)
AMINS_LIB_OPEN("gadgets/speedbar.gadget", 44, SpeedBar, "main", 1, true)
AMINS_LIB_OPEN("gadgets/string.gadget", 44, String, "main", 1, true)
AMINS_LIB_OPEN("window.class", 44, Window, "main", 1, true)
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/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)
AMINS_CLASS_OPEN("gadgets/fuelgauge.gadget", 44, FuelGauge, FUELGAUGE, true)
AMINS_CLASS_OPEN("gadgets/getfile.gadget", 44, GetFile, GETFILE, true)
AMINS_CLASS_OPEN("gadgets/getfont.gadget", 44, GetFont, GETFONT, true)
AMINS_CLASS_OPEN("gadgets/getscreenmode.gadget", 44, GetScreenMode, GETSCREENMODE, true)
AMINS_CLASS_OPEN("gadgets/integer.gadget", 44, Integer, INTEGER, true)
AMINS_CLASS_OPEN("images/label.image", 44, Label, LABEL, true)
AMINS_CLASS_OPEN("gadgets/layout.gadget", 44, Layout, LAYOUT, true)
AMINS_CLASS_OPEN("gadgets/listbrowser.gadget", 44, ListBrowser, LISTBROWSER, false)
AMINS_CLASS_OPEN("gadgets/radiobutton.gadget", 44, RadioButton, RADIOBUTTON, true)
AMINS_CLASS_OPEN("gadgets/scroller.gadget", 44, Scroller, SCROLLER, true)
AMINS_CLASS_OPEN("gadgets/space.gadget", 44, Space, SPACE, true)
AMINS_CLASS_OPEN("gadgets/speedbar.gadget", 44, SpeedBar, SPEEDBAR, true)
AMINS_CLASS_OPEN("gadgets/string.gadget", 44, String, STRING, true)
AMINS_CLASS_OPEN("window.class", 44, Window, WINDOW, true)
return true;
}
void ami_libs_close(void)
{
AMINS_LIB_CLOSE(ARexx)
AMINS_LIB_CLOSE(Bevel)
AMINS_LIB_CLOSE(BitMap)
AMINS_LIB_CLOSE(CheckBox)
AMINS_LIB_CLOSE(Chooser)
AMINS_LIB_CLOSE(ClickTab)
AMINS_LIB_CLOSE(FuelGauge)
AMINS_LIB_CLOSE(GetFile)
AMINS_LIB_CLOSE(GetFont)
AMINS_LIB_CLOSE(GetScreenMode)
AMINS_LIB_CLOSE(Integer)
AMINS_LIB_CLOSE(Label)
AMINS_LIB_CLOSE(Layout)
AMINS_LIB_CLOSE(ListBrowser)
AMINS_LIB_CLOSE(RadioButton)
AMINS_LIB_CLOSE(Scroller)
AMINS_LIB_CLOSE(Space)
AMINS_LIB_CLOSE(SpeedBar)
AMINS_LIB_CLOSE(String)
AMINS_LIB_CLOSE(Window)
AMINS_CLASS_CLOSE(ARexx)
AMINS_CLASS_CLOSE(Bevel)
AMINS_CLASS_CLOSE(BitMap)
AMINS_CLASS_CLOSE(CheckBox)
AMINS_CLASS_CLOSE(Chooser)
AMINS_CLASS_CLOSE(ClickTab)
AMINS_CLASS_CLOSE(FuelGauge)
AMINS_CLASS_CLOSE(GetFile)
AMINS_CLASS_CLOSE(GetFont)
AMINS_CLASS_CLOSE(GetScreenMode)
AMINS_CLASS_CLOSE(Integer)
AMINS_CLASS_CLOSE(Label)
AMINS_CLASS_CLOSE(Layout)
AMINS_CLASS_CLOSE(ListBrowser)
AMINS_CLASS_CLOSE(RadioButton)
AMINS_CLASS_CLOSE(Scroller)
AMINS_CLASS_CLOSE(Space)
AMINS_CLASS_CLOSE(SpeedBar)
AMINS_CLASS_CLOSE(String)
AMINS_CLASS_CLOSE(Window)
AMINS_LIB_CLOSE(Asl)
AMINS_LIB_CLOSE(DataTypes)

View File

@ -18,7 +18,21 @@
#ifndef AMIGA_LIBS_H
#include <stdbool.h>
#include <intuition/classes.h>
/* BOOPSI classes */
extern Class *BitMapClass;
extern Class *LayoutClass;
extern Class *ListBrowserClass;
extern Class *WindowClass;
/* New improved ReAction macros! */
#define BitMapObj NewObject(BitMapClass, NULL
#define LayoutHObj NewObject(LayoutClass, NULL, LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ
#define LayoutVObj NewObject(LayoutClass, NULL, LAYOUT_Orientation, LAYOUT_ORIENT_VERT
#define WindowObj NewObject(WindowClass, NULL
/* Functions */
bool ami_libs_open(void);
void ami_libs_close(void);
#endif

View File

@ -33,6 +33,7 @@
#include <gadgets/listbrowser.h>
#include "amiga/os3support.h"
#include "amiga/libs.h"
#include "stringview.h"
#include "urlhistory.h"
@ -411,13 +412,13 @@ static uint32 myStringClass_OM_New( Class *cl, Object *obj, struct opSet *msg )
InitSemaphore( &data->Semaphore );
data->WindowObject = NewObject( WINDOW_GetClass(), NULL,
data->WindowObject = NewObject( WindowClass, NULL,
WA_Activate, FALSE,
WA_Borderless, TRUE,
WINDOW_ParentGroup, NewObject( LAYOUT_GetClass(), NULL,
LAYOUT_SpaceInner, FALSE,
LAYOUT_SpaceOuter, FALSE,
LAYOUT_AddChild, data->ListviewObject = NewObject( LISTBROWSER_GetClass(), NULL,
LAYOUT_AddChild, data->ListviewObject = NewObject( ListBrowserClass, NULL,
LISTBROWSER_Labels, &data->ListviewHeader,
LISTBROWSER_MakeVisible, TRUE,
LISTBROWSER_ShowSelected, TRUE,