Пример #1
0
main (int argc, char *argv[])
{
   int rc   = 10, x;
   Object *App, *o, *win, *vg, *tcp[ntcp];

   App = ApplicationObject,
      MUIA_Application_Title      , "NTCPListTest",
      MUIA_Application_Version    , "$VER: NTCPListTest 01.1 (09.01.96)",
      MUIA_Application_Copyright  , "©1997 by Steve Koren",
      MUIA_Application_Author     , "Steve Koren",
      MUIA_Application_Description, "Test of NTCPList class",
      MUIA_Application_Base       , "TCPLISTTEST",
      SubWindow, win = WindowObject,
         MUIA_Window_Title, "Show the NTCPList class",
         MUIA_Window_ID   , MAKE_ID('T','s','i','v'),
         WindowContents, vg = VGroup,
         End,
      End,
   End;


   if (!App) goto Done;

   if (!(o = MUI_NewObject(SWC_NTCPList, TAG_DONE))) goto Done;
   DoMethod(vg, OM_ADDMEMBER, o);

   for (x=0; x<ntcp; x++) {
      UBYTE Name[64];

      sprintf(Name, "Connect: %ld", x+1);
      
      tcp[x] = MUI_NewObject(SWC_NTCP,
                             SWA_NTCP_Host,    CHOST,
                             SWA_NTCP_Port,    CPORT,
                             SWA_NTCP_Timeout, 10,
                             SWA_NTCP_Title,   Name,
                             TAG_DONE);
      
      if (!tcp[x]) goto Done;
   
      DoMethod(o, MUIM_List_InsertSingle, tcp[x], MUIV_List_Insert_Bottom);
   }

   DoMethod(tcp[1], SWM_NTCP_Connect);
   DoMethod(tcp[2], SWM_NTCP_Connect);
   DoMethod(tcp[1], SWM_NTCP_SendStr, "HELP\n");

   SW_NOTIFYQUIT(win);

   SWEventLoop(App, win, NULL, o, TRUE);

   rc = 0;

 Done:
   if (App) MUI_DisposeObject(App);

   exit (rc);
}
Пример #2
0
Object *CreateGUI(struct IClass *cl, Object *obj, struct ObjStore *os, struct DnetcLibrary *LibBase)
{
	UBYTE about[512];
	ULONG array[] =
	{
		(ULONG) LibBase->Version,
		LibBase->Library.lib_Version,
		LibBase->Library.lib_Revision
	};

//#define SysBase LibBase->MySysBase
	RawDoFmt(
	 "\33cdistributed.net client - a product of distributed.net\n"
	 "%s\n"
	 "Copyright 1997-2011 distributed.net\n"
	 "\n"
	 "\n"
	 "MorphOS client maintained by\n"
	 "Harry Sintonen\n"
	 "<*****@*****.**>\n"
	 "\n"
	 "\n"
	 "MUI GUI module (v%ld.%ld) maintained by\n"
	 "Ilkka Lehtoranta\n"
	 "<*****@*****.**>",
	array, NULL, about);
//#undef SysBase

	return (Object*)DoSuperNew(cl, obj,
		MUIA_Application_DiskObject, (IPTR)LibBase->dobj,
		MUIA_Application_Commands, (IPTR)commands,
		MUIA_Application_Version, (IPTR)&VerString[1],
		MUIA_Application_Copyright, (IPTR)"distributed.net",
		MUIA_Application_Author, (IPTR)"Ilkka Lehtoranta",
		MUIA_Application_Base, (IPTR)"DNETC",
		MUIA_Application_UsedClasses, (IPTR)ClassList,
		MUIA_Application_Title, (IPTR)"dnetc",
		MUIA_Application_Description, (IPTR)"GUI for distributed.net client",
		MUIA_Application_Window, (IPTR)(os->wnd = MUI_NewObject(MUIC_Window,
			MUIA_Window_Title, (IPTR)"distributed.net client",
			MUIA_Window_ID, MAKE_ID('M','A','I','N'),
			MUIA_Window_Width, MUIV_Window_Width_Visible(55),
			MUIA_Window_Height, MUIV_Window_Height_Visible(45),
			MUIA_Window_Menustrip, (IPTR)MUI_MakeObject(MUIO_MenustripNM, (IPTR)&Menus, 0),
			MUIA_Window_RootObject, (IPTR)MUI_NewObject(MUIC_Group,
				MUIA_Group_Child, (IPTR)(os->lst = NewObject(LibBase->ListMCC->mcc_Class, NULL,
					MUIA_Background, MUII_ReadListBack,
					MUIA_Frame, MUIV_Frame_ReadList,
					MUIA_CycleChain, TRUE,
				TAG_END)),
			TAG_END),
		TAG_END)),
		MUIA_Application_Window, (IPTR)(os->req = MUI_NewObject(MUIC_Aboutbox,
			MUIA_Aboutbox_Credits, (IPTR)about,
		TAG_END)),
	TAG_END);
}
Пример #3
0
static ULONG CreateListCol(Object *o, SW_IDATA *idata)
{
   ULONG x;
   
   static STRPTR ColNames[16];

   for (x=0; ColSpecs[x]; x++)
      ColNames[x] = GetS(SWS_L_Default + x) + sizeof(MUIX_U MUIX_B) - 1;

   ColNames[x] = NULL;

   if (!(idata->SWA_NServerList_ListCol =
         MUI_NewObject(SWC_ListCol,
                       SWA_ListCol_ColSpecs, ColSpecs,
                       SWA_ListCol_ColNames, ColNames,
                       SWA_ListCol_Hook,     &idata->DspHook,
                       SWA_ListCol_List,     o,
                       TAG_DONE)))
      return FAILURE;

   DoMethod(idata->SWA_NServerList_ListCol, SWM_ListCol_HideCols,
            8, 9, 10, 11, -1);

   return SUCCESS;
}
Пример #4
0
main (int argc, char *argv[])
{
   int rc   = 10;
   Object *App, *TCPList, *Srv = NULL, *win, *vg;

   App = ApplicationObject,
      MUIA_Application_Title      , "NTCPListTest",
      MUIA_Application_Version    , "$VER: NTCPListTest 01.1 (09.01.96)",
      MUIA_Application_Copyright  , "©1997 by Steve Koren",
      MUIA_Application_Author     , "Steve Koren",
      MUIA_Application_Description, "Test of NTCPList class",
      MUIA_Application_Base       , "TCPLISTTEST",
      SubWindow, win = WindowObject,
         MUIA_Window_Title, "Show the NTCPList class",
         MUIA_Window_ID   , MAKE_ID('T','s','i','v'),
         WindowContents, vg = VGroup,
         End,
      End,
   End;


   if (!App) goto Done;

   if (!(TCPList = MUI_NewObject(SWC_NTCPList, TAG_DONE))) goto Done;

   if (!(Srv     = MUI_NewObject(SWC_NServer,
                                 SWA_NServer_Host,    "news",
                                 SWA_NServer_TCPList, TCPList,
                                 TAG_DONE))) goto Done;
   
   DoMethod(vg, OM_ADDMEMBER, TCPList);

   DoMethod(Srv, SWM_NServer_SendCmd, SWT_NServer_Cmd, "HELP\n", TAG_DONE);

   SW_NOTIFYQUIT(win);

   SWEventLoop(App, win, NULL, TCPList, TRUE);

   rc = 0;

 Done:
   if (App) MUI_DisposeObject(App);
   if (Srv) MUI_DisposeObject(Srv);

   exit (rc);
}
Пример #5
0
static Object *NewGlobSel(Object *o, SW_IDATA *idata, ULONG Use)
{
   return MUI_NewObject(SWC_NSFList,
                        SWA_NSFList_ShowGroups, TRUE,
                        SWA_NSFList_Use,        Use,
                        AppBaseTopObj(o),
                        TAG_DONE);
}
Пример #6
0
static Object *MkInsObj(SW_IDATA *idata)
{
   Object *no = MUI_NewObject(SWC_NPost,
                              AppBaseDefTop(idata),
                              SWA_NPost_PostDir, idata->SWA_NPostList_PostDir,
                              SWA_NPost_NewPost, TRUE,
                              TAG_DONE);
   
   return no;
}
Пример #7
0
static ULONG CreateGlobFlt(Object *o, SW_IDATA *idata)
{
   if (!idata->SWA_NNews_GlobSel)
      idata->SWA_NNews_GlobSel  = NewGlobSel(o, idata, SWV_NSFList_Use_Select);

   if (!idata->SWA_NNews_GlobHL)
      idata->SWA_NNews_GlobHL   = NewGlobSel(o, idata, SWV_NSFList_Use_Hlight);
   
   if (!idata->SWA_NNews_GlobKill)
      idata->SWA_NNews_GlobKill = NewGlobSel(o, idata, SWV_NSFList_Use_Kill);


   if (!idata->SWA_NNews_GlobDsp)
      idata->SWA_NNews_GlobDsp  =
         MUI_NewObject(SWC_NSFList,
                       SWA_NSFList_ShowGroups, TRUE,
                       SWA_NSFList_FltType,    "#?NDFilter#?",
                       AppBaseTopObj(o),
                       TAG_DONE);

   if (!idata->SWA_NNews_GlobAct)
      idata->SWA_NNews_GlobAct  =
         MUI_NewObject(SWC_NSFList,
                       SWA_NSFList_ShowGroups, TRUE,
                       SWA_NSFList_FltType,    "#?NAFilter#?",
                       AppBaseTopObj(o),
                       TAG_DONE);
   
   if (!idata->SWA_NNews_GlobSel  ||
       !idata->SWA_NNews_GlobHL   ||
       !idata->SWA_NNews_GlobKill ||
       !idata->SWA_NNews_GlobDsp  ||
       !idata->SWA_NNews_GlobAct) {
      MUI_DisposeObject(idata->SWA_NNews_GlobSel);
      MUI_DisposeObject(idata->SWA_NNews_GlobHL);
      MUI_DisposeObject(idata->SWA_NNews_GlobKill);
      MUI_DisposeObject(idata->SWA_NNews_GlobDsp);
      MUI_DisposeObject(idata->SWA_NNews_GlobAct);
      return FAILURE;
   }

   return SUCCESS;
}
Пример #8
0
Object *MkNewGrp(Object *o, SW_IDATA *idata, STRPTR Name)
{
   if (SWGetUL(idata->SWA_NList_L, MUIA_List_Entries) < SWV_NGroupList_MaxUnreg ||
       NN_RegMsg(idata, GetS(SWS_L_UnregMsg), _win(o)) == SUCCESS)
      return MUI_NewObject(SWC_NGroup,
                           AppBaseDefTop(idata),
                           SWA_NGroup_Name, SW_STRDEF(Name, ""),
                           TAG_DONE);
   
   return NULL;
}
Пример #9
0
static Object *MkInsObj(SW_IDATA *idata, STRPTR Name)
{
   Object *no = MUI_NewObject(SWC_NServer,
                              AppBaseDefTop(idata),
                              SWA_NServer_Host, Name,
                              TAG_DONE);
   
   if (SWGetUL(idata->SWA_NList_L, MUIA_List_Entries) == 0)
      set(no, SWA_NServer_Default, TRUE);

   return no;
}
Пример #10
0
Object* CreateMenu(void)
{
  Object *o;

  o = MUI_NewObject(MUIC_Menustrip,
   MUIA_Family_Child, (ULONG)MUI_NewObject(MUIC_Menu,
    MUIA_Menu_Title, (ULONG)"Project",
    MUIA_Family_Child, (ULONG)MUI_NewObject(MUIC_Menuitem,
     MUIA_Menuitem_Title, (ULONG)"Clear",
     MUIA_Menuitem_Shortcut, (ULONG)"C",
     MUIA_UserData, MENU_CLEAR,
    TAG_END),
/*  MUIA_Family_Child, (ULONG)MUI_NewObject(MUIC_Menuitem,
     MUIA_Menuitem_Title, (ULONG)"Save as...",
     MUIA_Menuitem_Shortcut, (ULONG)"S",
     MUIA_UserData, MENU_SAVEAS,
    TAG_END),*/
    MUIA_Family_Child, (ULONG)MUI_NewObject(MUIC_Menuitem,
     MUIA_Menuitem_Title, (ULONG)"Settings...",
     MUIA_UserData, MENU_SETTINGS,
    TAG_END),
    MUIA_Family_Child, (ULONG)MUI_NewObject(MUIC_Menuitem,
     MUIA_Menuitem_Title, MENUBAR,
    TAG_END),
    MUIA_Family_Child, (ULONG)MUI_NewObject(MUIC_Menuitem,
     MUIA_Menuitem_Title, (ULONG)"Quit",
     MUIA_Menuitem_Shortcut, (ULONG)"Q",
     MUIA_UserData, MENU_QUIT,
    TAG_END),
   TAG_END),
  TAG_END);

  return o;
}
Пример #11
0
BOOL BuildGui(void)
{
  Object *lv;

  App = MUI_NewObject(MUIC_Application,
   MUIA_Application_Author, (ULONG)"Grzegorz \"Krashan\" Kraszewski, Pavel \"Sonic\" Fedin, Nick \"Kalamatee\" Andrews",
   MUIA_Application_Base, (ULONG)"SysLog",
	 MUIA_Application_Copyright, (ULONG)"(c) 2005 by Grzegorz Kraszewski, Pavel Fedin, Nick Andrews",
	 MUIA_Application_Description, (ULONG)"AROSTCP syslog viewer",
   MUIA_Application_SingleTask, TRUE,
	 MUIA_Application_Title, (ULONG)"SysLog",
	 MUIA_Application_Version, (ULONG)"$VER: SysLog 1.2 (15.11.2005)\n",
   MUIA_Application_Menustrip, (ULONG)CreateMenu(),
   MUIA_Application_Window, (ULONG)(Win = MUI_NewObject(MUIC_Window,
		MUIA_Window_Title, (ULONG)"AROSTCP syslog viewer",
		MUIA_Window_ScreenTitle, (ULONG)"SysLog 1.2 (c) 2005-2007 Grzegorz Kraszewski, Pavel Fedin, Nick Andrews",
    MUIA_Window_ID, 0x4D444C47,
    MUIA_Window_RootObject, (ULONG)MUI_NewObject(MUIC_Group,
     MUIA_Group_Child, (ULONG)(lv = MUI_NewObject(MUIC_Listview,
      MUIA_Listview_List, (ULONG)(List = NewObject(ColorList->mcc_Class, NULL,
       MUIA_Frame, MUIV_Frame_ReadList,
			 MUIA_List_Format, (ULONG)"BAR,BAR,BAR,",
       MUIA_List_Title, TRUE,
      TAG_END)),
      MUIA_Listview_Input, FALSE,
     TAG_END)),
     MUIA_Group_Child, MUI_NewObject(MUIC_Group,
      MUIA_Group_Horiz, TRUE,
      MUIA_Group_Child, MUI_NewObject(MUIC_Text,
       MUIA_Text_SetMax, TRUE,
       MUIA_Text_Contents, (ULONG)"Debug level",
      TAG_END),
      MUIA_Group_Child, DbgLevel = MUI_NewObject(MUIC_Cycle,
       MUIA_Cycle_Entries, (ULONG)DebugLevels,
       MUIA_Weight, 1,
      TAG_END),
      MUIA_Group_Child, MUI_NewObject(MUIC_Rectangle,
      TAG_END),
     TAG_END),
    TAG_END),
    MUIA_Window_DefaultObject, (ULONG)lv,
   TAG_END)),
   MUIA_Application_Window, SWin = BuildSettingsWindow(),
  TAG_END);

  if (App) return TRUE;
  else return FALSE;
}
Пример #12
0
APTR ImageButton(CONST_STRPTR text, CONST_STRPTR image)
{
    APTR obj, img;

    img = MUI_NewObject("Dtpic.mui", MUIA_Dtpic_Name, image, TAG_DONE);

    if (text)
    {
        obj = VGroup,
            Child, HCenter(img),
            Child, TextObject, text, MUIA_Text_PreParse, "\033c", End,
        End;
    }
    else
    {
        obj = img;
    }

    return obj;
}
Пример #13
0
STATIC APTR MakeKeyAdjust(LONG label, ULONG id)
{
	APTR obj = NULL;

	#if !defined(__AROS__)
	obj = MUI_NewObject(MUIC_Keyadjust,
		MUIA_Keyadjust_AllowMultipleKeys, FALSE,
		MUIA_CycleChain, 1,
		TAG_DONE);
	#endif

	if (obj)
	{
		FORCHILD(obj, MUIA_Group_ChildList)
		{
			set(child, MUIA_ObjectID, id);	// hack...
			break;
		}
		NEXTCHILD
	}
Пример #14
0
main (int argc, char *argv[])
{
   int rc   = 10;
   Object *App, *win, *b, *ls;

   App = ApplicationObject,
      MUIA_Application_Title      , "ListSearchTest",
      MUIA_Application_Version    , "$VER: ListSearchTest 01.1 (09.01.96)",
      MUIA_Application_Copyright  , "©1997 by Steve Koren",
      MUIA_Application_Author     , "Steve Koren",
      MUIA_Application_Description, "Test of ListSearch class",
      SubWindow, win = WindowObject,
         MUIA_Window_Title, "Show the Listsearch class",
         MUIA_Window_ID   , MAKE_ID('T','s','l','s'),
         WindowContents, VGroup,
            Child, b = SimpleButton("SearchWin"),
         End,
      End,
   End;

   if (!App) goto Done;

   ls = MUI_NewObject(SWC_ListSearch,
                      TAG_DONE);
   if (!ls) goto Done;

   DoMethod(b, MUIM_Notify, MUIA_Pressed, FALSE,
            ls, 2, SWM_ListSearch_OpenWin, App);
   
   SW_NOTIFYQUIT(win);

   SWEventLoop(App, win, NULL, TRUE);

   rc = 0;

 Done:
   MUI_DisposeObject(ls);
   MUI_DisposeObject(App);

   exit (rc);
}
Пример #15
0
static ULONG CreateListCol(Object *o, SW_IDATA *idata)
{
   ULONG x;
   
   static STRPTR ColNames[8];

   for (x=0; ColSpecs[x]; x++)
      ColNames[x] = GetS(SWS_T_Lines + x) + sizeof(MUIX_U MUIX_B) - 1;

   ColNames[x] = NULL;

   if (!(idata->SWA_NPostList_ListCol =
         MUI_NewObject(SWC_ListCol,
                       SWA_ListCol_ColSpecs, ColSpecs,
                       SWA_ListCol_ColNames, ColNames,
                       SWA_ListCol_Hook,     &idata->DspHook,
                       SWA_ListCol_List,     o,
                       TAG_DONE)))
      return FAILURE;

   return SUCCESS;
}
Пример #16
0
Object *BuildSettingsWindow(void)
{
  Object *win;

  win = MUI_NewObject(MUIC_Window,
	 MUIA_Window_Title, (ULONG)"SysLog settings",
   MUIA_Window_ID, 0x4D444C50,
   MUIA_Window_RootObject, (ULONG)MUI_NewObject(MUIC_Group,
    MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Group,
     MUIA_Group_Columns, 2,
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Text,
      MUIA_Text_Contents, (ULONG)"\33rColor of error messages",
      MUIA_Weight, 0,
     TAG_END),
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Poppen,
      MUIA_FixWidthTxt, (ULONG)"6EDA",
      MUIA_InnerSpacing(1),
      MUIA_ObjectID, 1,
      MUIA_UserData, PREFS_POPPEN_ERRORS,
      MUIA_Window_Title, (ULONG)"Error messages",
     TAG_END),
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Text,
      MUIA_Text_Contents, (ULONG)"\33rColor of important information",
      MUIA_Weight, 0,
     TAG_END),
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Poppen,
      MUIA_FixWidthTxt, (ULONG)"6EDA",
      MUIA_InnerSpacing(1),
      MUIA_ObjectID, 2,
      MUIA_UserData, PREFS_POPPEN_IMPORTANT,
      MUIA_Window_Title, (ULONG)"Important information",
     TAG_END),
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Text,
      MUIA_Text_Contents, (ULONG)"\33rColor of debug information",
      MUIA_Weight, 0,
     TAG_END),
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Poppen,
      MUIA_FixWidthTxt, (ULONG)"6EDA",
      MUIA_InnerSpacing(1),
      MUIA_ObjectID, 3,
      MUIA_UserData, PREFS_POPPEN_OTHERS,
      MUIA_Window_Title, (ULONG)"Debug information",
     TAG_END),
    TAG_END),
    MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Group,
     MUIA_Group_Horiz, TRUE,
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Text,
      MUIA_Text_Contents, (ULONG)"Save",
      MUIA_Text_PreParse, (ULONG)"\33c",
      MUIA_Text_HiChar, 's',
      MUIA_ControlChar, 's',
      MUIA_InputMode, MUIV_InputMode_RelVerify,
      MUIA_Background, MUII_ButtonBack,
      MUIA_Frame, MUIV_Frame_Button,
      MUIA_Font, MUIV_Font_Button,
      MUIA_UserData, PREFS_BUTTON_SAVE,
     TAG_END),
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Text,
      MUIA_Text_Contents, (ULONG)"Use",
      MUIA_Text_PreParse, (ULONG)"\33c",
      MUIA_Text_HiChar, 'u',
      MUIA_ControlChar, 'u',
      MUIA_InputMode, MUIV_InputMode_RelVerify,
      MUIA_Background, MUII_ButtonBack,
      MUIA_Frame, MUIV_Frame_Button,
      MUIA_Font, MUIV_Font_Button,
      MUIA_UserData, PREFS_BUTTON_USE,
     TAG_END),
     MUIA_Group_Child, (ULONG)MUI_NewObject(MUIC_Text,
      MUIA_Text_Contents, (ULONG)"Cancel",
      MUIA_Text_PreParse, (ULONG)"\33c",
      MUIA_Text_HiChar, 'c',
      MUIA_ControlChar, 'c',
      MUIA_InputMode, MUIV_InputMode_RelVerify,
      MUIA_Background, MUII_ButtonBack,
      MUIA_Frame, MUIV_Frame_Button,
      MUIA_Font, MUIV_Font_Button,
      MUIA_UserData, PREFS_BUTTON_CANCEL,
     TAG_END),
    TAG_END),
   TAG_END),
  TAG_END);

  return win;
}
Пример #17
0
IPTR Popimage__MUIM_Popimage_OpenWindow(struct IClass *cl, Object *obj, Msg msg)
{
    struct Popimage_DATA *data = INST_DATA(cl, obj);

    if (!data->wnd)
    {
    	Object *ok_button, *cancel_button;
    	char *img_spec;
	ULONG x = 0, y = 0;

	get(_win(obj), MUIA_Window_LeftEdge, &x);
	get(_win(obj), MUIA_Window_TopEdge, &y);

	get(obj,MUIA_Imagedisplay_Spec, &img_spec);

    	data->wnd = (Object *)WindowObject,
            MUIA_Window_Title,       (IPTR) data->wintitle,
            MUIA_Window_Activate,           TRUE,
            MUIA_Window_IsSubWindow,        TRUE,
            MUIA_Window_LeftEdge,           _left(obj) + x,
            MUIA_Window_TopEdge,            _bottom(obj) + y + 1,
            
            WindowContents, (IPTR) VGroup,
                Child, (IPTR) (data->imageadjust = MUI_NewObject
                (
                    MUIC_Imageadjust,
                    MUIA_CycleChain,              1,
                    MUIA_Imageadjust_Spec,        (IPTR) img_spec,
                    MUIA_Imageadjust_Type,        data->adjust_type,
		    MUIA_Imageadjust_Originator,  (IPTR) obj,
                    TAG_DONE
                )),
                Child, (IPTR) HGroup,
                    MUIA_Group_SameWidth, TRUE,
                    Child, (IPTR) (ok_button = MUI_MakeObject
                    (
                        MUIO_Button, (IPTR) "_Ok"
                    )),
                    Child, (IPTR) HVSpace,
                    Child, (IPTR) HVSpace,
                    Child, (IPTR) (cancel_button = MUI_MakeObject
                    (
                        MUIO_Button, (IPTR) "_Cancel"
                    )),
                End,
            End,
        End;

	if (data->wnd)
	{
	    set(ok_button, MUIA_CycleChain, 1);
	    set(cancel_button, MUIA_CycleChain, 1);

	    DoMethod(_app(obj),OM_ADDMEMBER,(IPTR)data->wnd);

	    DoMethod
            (
                ok_button, MUIM_Notify, MUIA_Pressed, FALSE, 
                (IPTR) _app(obj), 5, MUIM_Application_PushMethod, 
                (IPTR) obj, 2, MUIM_Popimage_CloseWindow, TRUE
            );
	    DoMethod
            (
                cancel_button, MUIM_Notify, MUIA_Pressed, FALSE, 
                (IPTR) _app(obj), 5, MUIM_Application_PushMethod, 
                (IPTR) obj, 2, MUIM_Popimage_CloseWindow, FALSE
            );
	    DoMethod
            (
                data->wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, 
                (IPTR) _app(obj), 5, MUIM_Application_PushMethod, 
                (IPTR) obj, 2, MUIM_Popimage_CloseWindow, FALSE
            );
	}
    }

    if (data->wnd)
    {
	ULONG opened;

	set(data->wnd, MUIA_Window_Open,TRUE);
	get(data->wnd, MUIA_Window_Open, &opened);
	if (!opened)
	{
	    DoMethod(obj, MUIM_Popimage_CloseWindow, FALSE);
	}
    }

    return 1;
}
Пример #18
0
static ULONG MakeObjs(Object *o, SW_IDATA *idata)
{
   if (!(idata->SWA_NNews_TCPList =
         MUI_NewObject(SWC_NTCPList,    AppBaseTopObj(o), TAG_DONE))   ||
       !(idata->SWA_NNews_ArtMgr  =
         MUI_NewObject(SWC_NArticleMgr, AppBaseTopObj(o), TAG_DONE))   ||
       !(idata->SWA_NNews_ArtTpl  =
         MUI_NewObject(SWC_NArticle,
                       SWA_NArticle_MemPool, idata->SWA_NNews_MemPool,
                       TAG_DONE))                                      ||
       !(idata->SWA_NNews_ServList =
         MUI_NewObject(SWC_NServerList, AppBaseTopObj(o), TAG_DONE))   ||
       !(idata->SWA_NNews_PostList =
         MUI_NewObject(SWC_NPostList,   AppBaseTopObj(o), TAG_DONE))   ||
       !(idata->SWA_NNews_SvPostList =
         MUI_NewObject(SWC_NPostList,
                       AppBaseTopObj(o),
                       SWA_NPostList_Saved, TRUE,
                       TAG_DONE))                                      ||
       !(idata->SWA_NNews_MMList =
         MUI_NewObject(SWC_FileTypes,   TAG_DONE))                     ||
       !(idata->SWA_NNews_FAList =
         MUI_NewObject(SWC_FileActs,    TAG_DONE))                     ||
       !(idata->SWA_NNews_GroupList =
         MUI_NewObject(SWC_NGroupList,  AppBaseTopObj(o), TAG_DONE))) {
      return FAILURE;
   }

   idata->Obj                          = o;

   idata->Win[SWV_GrpListWin].Contents = &idata->SWA_NNews_GroupList;
   idata->Win[SWV_SrvListWin].Contents = &idata->SWA_NNews_ServList;
   idata->Win[SWV_TcpListWin].Contents = &idata->SWA_NNews_TCPList;
   idata->Win[SWV_PstListWin].Contents = &idata->PLGrp;
   idata->Win[SWV_MMListWin].Contents  = &idata->MMGrp;
   idata->Win[SWV_CfgListWin].Contents = &idata->Config;
   idata->Win[SWV_NNewsWin].Contents   = &idata->Obj;

   idata->Win[SWV_GrpListWin].Title    = GetS(SWS_T_Groups);
   idata->Win[SWV_SrvListWin].Title    = GetS(SWS_T_Servers);
   idata->Win[SWV_TcpListWin].Title    = GetS(SWS_T_TCP);
   idata->Win[SWV_PstListWin].Title    = GetS(SWS_T_Post);
   idata->Win[SWV_MMListWin].Title     = GetS(SWS_T_MM);
   idata->Win[SWV_CfgListWin].Title    = GetS(SWS_T_Cfg);
   idata->Win[SWV_NNewsWin].Title      = GetS(SWS_T_NNews);

   idata->Win[SWV_GrpListWin].ID       = MAKE_ID('G','r','p','l');
   idata->Win[SWV_SrvListWin].ID       = MAKE_ID('S','r','v','l');
   idata->Win[SWV_TcpListWin].ID       = MAKE_ID('T','c','p','l');
   idata->Win[SWV_PstListWin].ID       = MAKE_ID('P','s','t','l');
   idata->Win[SWV_MMListWin].ID        = MAKE_ID('M','m','T','y');
   idata->Win[SWV_CfgListWin].ID       = MAKE_ID('C','o','n','f');
   idata->Win[SWV_NNewsWin].ID         = MAKE_ID('B','l','r','g');

   idata->Win[SWV_GrpListWin].LastVar  = SWA_NNews_GrpListLast;
   idata->Win[SWV_SrvListWin].LastVar  = SWA_NNews_SrvListLast;
   idata->Win[SWV_TcpListWin].LastVar  = SWA_NNews_TCPListLast;
   idata->Win[SWV_PstListWin].LastVar  = SWA_NNews_PstListLast;
   idata->Win[SWV_MMListWin].LastVar   = SWA_NNews_MMListLast;
   idata->Win[SWV_CfgListWin].LastVar  = SWA_NNews_CfgWinLast;
   idata->Win[SWV_NNewsWin].LastVar    = NULL;

   idata->Win[SWV_GrpListWin].OpenVar  = SWA_NNews_GrpListOpen;
   idata->Win[SWV_SrvListWin].OpenVar  = SWA_NNews_SrvListOpen;
   idata->Win[SWV_TcpListWin].OpenVar  = SWA_NNews_TCPListOpen;
   idata->Win[SWV_PstListWin].OpenVar  = SWA_NNews_PstListOpen;
   idata->Win[SWV_MMListWin].OpenVar   = SWA_NNews_MMListOpen;
   idata->Win[SWV_CfgListWin].OpenVar  = SWA_NNews_CfgWinOpen;
   idata->Win[SWV_NNewsWin].OpenVar    = NULL;

   return SUCCESS;
}
Пример #19
0
static ULONG CreateObj(Object *o, SW_IDATA *idata)
{
   ULONG x, rc = FAILURE;

   if (!idata->SWA_AppBase_TopObj)
      idata->SWA_AppBase_TopObj = o;

   idata->ArtLst = MUI_NewObject(SWC_NArticleList,
                                 SWA_NArticleList_NoUI, TRUE,
                                 TAG_DONE);
   
   if (!idata->ArtLst) goto Done;

   idata->DTImg = DTImgObject, End;
   if (!idata->DTImg) goto Done;

   if (!(idata->SWA_NNews_DTImages =
         (DTImgCache*)DoMethod(idata->DTImg, SWM_DTImg_MakeImgCache)))
      goto Done;
   
   if (!(idata->SWA_NNews_ArtListCol = MUI_NewObject(SWC_ListCol,
          SWA_ListCol_ColSpecs, SWGetUL(idata->ArtLst, SWA_NArticleList_ColSpecs),
          SWA_ListCol_ColNames, SWGetUL(idata->ArtLst, SWA_NArticleList_ColNames),
          SWA_ListCol_FixWidth, FALSE,
          TAG_DONE)))
      goto Done;

   SetColSpecs(idata);

   DoMethod(idata->SWA_NNews_ArtListCol, SWM_ListCol_HideCols, 8, 9, -1);

   if (!(idata->SWA_NNews_VarList = MUI_NewObject(SWC_VarList,
                                                  AppBaseDefTop(idata),
                                                  TAG_DONE)))
      goto Done;
 
   if (!(idata->SWA_NNews_HdrList = MUI_NewObject(SWC_NHdrList,
                                                  AppBaseDefTop(idata),
                                                  TAG_DONE)))
      goto Done;


   GetUserJunk(o, idata);
   
   SetAttrs(o,            
            SWA_AppBase_ExitMode, SWV_AppBase_EM_Save,
            TAG_DONE);

   if (!(idata->SWA_NNews_MemPool = SWPoolCreate(MEMF_ANY|MEMF_CLEAR,
                                                 1024*80, 512, NULL)))
      goto Done;

   for (x=0; x<(SWS_L_CfgLast - SWS_L_CfgTab0 + 1); x++)
      idata->CfgTabs[x]   = GetS(SWS_L_CfgTab0 + x),
      idata->CfgTabs[x+1] = NULL;

   for (x=0; x<(SWS_L_FltLast - SWS_L_FltTab0 + 1); x++)
      idata->FltTabs[x]   = GetS(SWS_L_FltTab0 + x),
      idata->FltTabs[x+1] = NULL;

   idata->MMTabs[0] = GetS(SWS_L_FTypes);
   idata->MMTabs[1] = GetS(SWS_L_FActs);
   idata->MMTabs[2] = NULL;
   
   idata->PLTabs[0] = GetS(SWS_L_PToSend);
   idata->PLTabs[1] = GetS(SWS_L_PSent);
   idata->PLTabs[2] = NULL;
   
   if (CreateGlobFlt(o, idata) != SUCCESS)
      goto Done;

   if (MakeObjs(o, idata) != SUCCESS) goto Done;

   SetAttrs(o,
            GroupFrame,
            MUIA_Group_Horiz,    TRUE,
            MUIA_Background,     MUII_GroupBack,
            TAG_DONE);

   SetAttrs(o,
            SWA_AppBase_Cost1,     30,
            SWA_AppBase_Cost2,     35,
            SWA_AppBase_AppName,   APPNAME,
            SWA_AppBase_UnregSave, FALSE,
            TAG_DONE);

   DoMethod(SWGetObj(o, SWA_AppBase_App), MUIM_Notify,
            MUIA_Application_DoubleStart, TRUE,
            o, 5, MUIM_Application_PushMethod, o, 2,
            MUIV_Application_ReturnID_Quit, MUIV_Application_ReturnID_Quit);
   
   rc = SUCCESS;

  Done:
   return rc;
}