Ejemplo n.º 1
1
ULONG RGOM_RegisterUI(SW_IDATA *idata, SWP_RegUI *UI)
{
   Object *g;
   LONG   x;

   if (!idata->RegWin) {

      idata->RegWin = WindowObject,
         MUIA_Window_Title, "Registration",
         MUIA_Window_ID,    MAKE_ID('r','g','s','r'),
         WindowContents, VGroup,
            Child, ScrollgroupObject,
               MUIA_Scrollgroup_FreeHoriz, FALSE,
               MUIA_Scrollgroup_Contents,  VirtgroupObject,
                  VirtualFrame,
                  Child, g = ColGroup(3),
                     GroupFrameT("Registration Information"),
                  End,
               End,
            End,
            Child, HGroup, GroupFrame,
               Child, idata->B_Generate = SimpleButton("_Generate"),
               Child, idata->B_Cancel   = SimpleButton("_Cancel"),
            End,
         End,
      End;

      if (!idata->RegWin) return FAILURE;

      for (x=0; RG_ParseTable[x].Keyword; x++) {
         DoMethod(g, OM_ADDMEMBER, Label2(RG_ParseTable[x].Keyword));
         DoMethod(g, OM_ADDMEMBER,
                  idata->Gads[x] =String("", SWF_CryptLineSize));
         set(idata->Gads[x], MUIA_CycleChain,         1);
         set(idata->Gads[x], MUIA_String_AdvanceOnCR, 1);
         DoMethod(g, OM_ADDMEMBER,
                  Label2(RG_ParseTable[x].Required ? "Req" : "Opt"));
      }

      set(idata->B_Generate, MUIA_CycleChain, 1);
      set(idata->B_Cancel,   MUIA_CycleChain, 1);

      DoMethod(idata->B_Generate, MUIM_Notify, MUIA_Pressed, FALSE,
               UI->App, 6, MUIM_CallHook, &RGOM_Hook_Generate,
               idata, UI->Prog, UI->Cost1, UI->Cost2);

      SW_NOTIFYSINGLE(idata->B_Cancel, MUIA_Pressed, FALSE,
                      idata->RegWin, MUIA_Window_Open, FALSE);

      SW_NOTIFYCLOSEWIN(idata->RegWin);

      DoMethod(UI->App, OM_ADDMEMBER, idata->RegWin);
   }

   if (!idata->RegWin) return FAILURE;

   set(idata->RegWin, MUIA_Window_Open, TRUE);

   return SUCCESS;
}
Ejemplo n.º 2
0
static APTR build_gui_plus4(void)
{
    static const struct Hook BT0Hook = { { NULL, NULL }, (VOID *)BT0Click, NULL, NULL };
    static const struct Hook BT1Hook = { { NULL, NULL }, (VOID *)BT1Click, NULL, NULL };
    APTR BT0, BT1;

    APTR gui = GroupObject,
                 Child, GroupObject,
                   MUIA_Group_Horiz, TRUE,
                   Child, GroupObject,
                     MUIA_Frame, MUIV_Frame_Group,
                     MUIA_FrameTitle, translate_text(IDS_JOYSTICK_1),
                     CYCLE(ui_to_from_plus4[0].object, "", ui_joystick)
                   End,
                   Child, GroupObject,
                     MUIA_Frame, MUIV_Frame_Group,
                     MUIA_FrameTitle, translate_text(IDS_JOYSTICK_2),
                     CYCLE(ui_to_from_plus4[1].object, "", ui_joystick)
                   End,
                 End,
                 Child, GroupObject,
                   MUIA_Group_Horiz, TRUE,
                   Child, GroupObject,
                     MUIA_Frame, MUIV_Frame_Group,
                     MUIA_FrameTitle, translate_text(IDS_SIDCART_JOY),
                     CYCLE(ui_to_from_plus4[3].object, "", ui_joystick_enable)
                   End,
                 End,
                 Child, GroupObject,
                   MUIA_Group_Horiz, TRUE,
                   Child, GroupObject,
                     MUIA_Frame, MUIV_Frame_Group,
                     MUIA_FrameTitle, translate_text(IDS_JOYSTICK_IN_SIDCART_PORT),
                     CYCLE(ui_to_from_plus4[2].object, "", ui_joystick)
                   End,
                 End,
                 Child, GroupObject,
                   MUIA_Group_Horiz, TRUE,
                   Child, BT0 = SimpleButton("Config AI/Keyset A"),
                   Child, BT1 = SimpleButton("Config AI/Keyset B"),
                 End,
               End;

    if (gui != NULL) {
        DoMethod(BT0, MUIM_Notify, MUIA_Pressed, FALSE,
                 BT0, 2, MUIM_CallHook, &BT0Hook);

        DoMethod(BT1, MUIM_Notify, MUIA_Pressed, FALSE,
                 BT1, 2, MUIM_CallHook, &BT1Hook);
    }

    return gui;
}
Ejemplo n.º 3
0
ULONG __inline wordsasobjects(Object *grp, char *instr)
{
	char *token;
	char *str;

	ULONG added = 0, len;

	len = strlen(instr);

	if(len)
	{
		if(str = AllocMem(len + 1, MEMF_ANY | MEMF_CLEAR))
		{
			CopyMem(instr, str, len + 1);

			token = strtok(str, " ");

			while(token)
			{
				if(token[0] == '@')
				{
					token++;
					if(token[0] != '@')
						DoMethod(grp, OM_ADDMEMBER, SimpleButton(token));
					else
						DoMethod(grp, OM_ADDMEMBER, TextObject, MUIA_Text_Contents, token, End);
				}
				else
				if(token[0] == '#')
				{
					token++;
					if(token[0] != '#')
						DoMethod(grp, OM_ADDMEMBER, StringObject, StringFrame, MUIA_String_Contents, token, End);
					else
						DoMethod(grp, OM_ADDMEMBER, TextObject, MUIA_Text_Contents, token, End);
				}
				else
					DoMethod(grp, OM_ADDMEMBER, TextObject, MUIA_Text_Contents, token, End);
		
				added++;
		
				token = strtok(NULL, " ");
			}
			FreeMem(str, len + 1);
		}
	}
	return(added);
}
Ejemplo n.º 4
0
int main(void) {
  Object *wnd, *app, *but;

  // GUI creation
  app = ApplicationObject,
      SubWindow, wnd = WindowObject,
        MUIA_Window_Title, "Hello world!",
        WindowContents, VGroup,
          Child, TextObject,
            MUIA_Text_Contents, "\33cHello world!\nHow are you?",
          End,
          Child, but = SimpleButton("_Ok"),
          End,
        End,
      End;

  if (app != NULL) {
    ULONG sigs = 0;

    // Click Close gadget or hit Escape to quit
    DoMethod(wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
             (APTR)app, 2,
             MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

    // Click the button to quit
    DoMethod(but, MUIM_Notify, MUIA_Pressed, FALSE,
             (APTR)app, 2,
             MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

    // Open the window
    set(wnd, MUIA_Window_Open, TRUE);

    while((LONG)DoMethod(app, MUIM_Application_NewInput, (APTR)&sigs)
          != MUIV_Application_ReturnID_Quit) {
      if (sigs) {
        sigs = Wait(sigs | SIGBREAKF_CTRL_C);
        if (sigs & SIGBREAKF_CTRL_C)
          break;
      }
    }

    // Destroy our application and all its objects
    MUI_DisposeObject(app);
  }

  return 0;
}
Ejemplo n.º 5
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);
}
Ejemplo n.º 6
0
int main(void)
{
    Object *application, *window, *b1, *b2, *b3;
    
    application = ApplicationObject,
   	SubWindow, window = WindowObject,
    	    MUIA_Window_Title,    (IPTR) "Hide & Show",
	    MUIA_Window_Activate,        TRUE,
            
    	    WindowContents, (IPTR) VGroup,
                Child, (IPTR) HGroup,
                    Child, (IPTR) SimpleButton("Visible all the time"),
                    Child, (IPTR) (b1 = ImageButton("Click Hide or Show", "THEME:Images/Gadgets/Prefs/Test")),
                    Child, (IPTR) SimpleButton("Visible all the time too"),
                End,
                Child, (IPTR) HGroup,
                    Child, (IPTR) (b2 = SimpleButton("Hide")),
                    Child, (IPTR) (b3 = SimpleButton("Show")),
                End,
            End,
        End,
    End;

    if (application)
    {
	ULONG sigs = 0;

	DoMethod
        (
            window, MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
            (IPTR) application, 2, MUIM_Application_ReturnID,
            MUIV_Application_ReturnID_Quit
        );
        
        DoMethod
        (
            b2, MUIM_Notify, MUIA_Pressed, FALSE,
            (IPTR) b1, 3, MUIM_Set, MUIA_ShowMe, FALSE
        );
        
        DoMethod
        (
            b3, MUIM_Notify, MUIA_Pressed, FALSE,
            (IPTR) b1, 3, MUIM_Set, MUIA_ShowMe, TRUE
        );

	set(window,MUIA_Window_Open,TRUE);

	while
        (
            DoMethod
            (
                application, MUIM_Application_NewInput, (IPTR) &sigs
            ) != MUIV_Application_ReturnID_Quit
        )
	{
	    if (sigs)
	    {
		sigs = Wait(sigs | SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_D);
		if (sigs & SIGBREAKF_CTRL_C) break;
		if (sigs & SIGBREAKF_CTRL_D) break;
	    }
	}

	MUI_DisposeObject(application);
    }

    return 0;
}
Ejemplo n.º 7
0
void main (int argc, char *argv[])
{
   ULONG State = 0;
   MUI_PenSpec ps[2];
   Object *pp, *CT1, *CT2, *Win, *App, *vg, *b1, *CT3;

   static STRPTR Lines1[] = {
      "Foo bar test",
      "dummy test " CTxtFont("times/24") "gqah de absoflipping" CTxtFont("") " blah",
      "now is the time\n\n",
      "for " CTxtFont("courier/15/U") "all" CTxtFont("//I") " good men "
         CTxtFont("") "to come" CTxtFont("") " to the aid",
      "(of their country)",
      NULL,
   };

   static STRPTR Lines2 =
      "This\tis lines 2 test\n"
      "It's plain\t\t and boring.\n"
      "But sometimes that's ok for\n"
      "just testing purposes, eh?\n";

   static STRPTR Lines3[] = {
      CTxtFont("topaz/8")CTxtFont("courier/15/U") "BBB"
          CTxtFont("//I") " CCCC ",
      "Nonterm " CTxtFont("times/24") "gqah de absoflipping" CTxtFont("") " blah",
      NULL,
   };

   static STRPTR Lines4[] = {
      "wefwef " CTxtFont("") "boofar fwfw " CTxtFont("") "wefwfww",
      NULL,
   };

   if (!(pp = PendisplayObject, End)) exit(0);

   DoMethod(pp,MUIM_Pendisplay_SetMUIPen,MPEN_SHINE);
   get(pp, MUIA_Pendisplay_Spec, &ps[0]);

   DoMethod(pp,MUIM_Pendisplay_SetMUIPen,MPEN_HALFSHADOW);
   get(pp, MUIA_Pendisplay_Spec, &ps[1]);

   sprintf(Buff,
           "abc\ndef \\033CV{%08lx}this\\033CV{} is a test\nghi\nwfwf\nawf\n",
           &ps[0]);
   
   App = ApplicationObject,
      MUIA_Application_Title, "CText Test",
      SubWindow, Win = WindowObject,
         MUIA_Window_ID,   2,
         WindowContents, VGroup,
            Child, b1 = SimpleButton("Howdy"),
            Child, ScrollgroupObject,
               MUIA_Scrollgroup_Contents, vg = VirtgroupObject,
                  VirtualFrame,
                  MUIA_Group_Horiz,    FALSE,
                  MUIA_Background,     MUII_TextBack,
                  MUIA_Group_Spacing,  0,
                  MUIA_UserData,       SWV_CText_ClickGrpRoot,
                  Child, CT1 = CTextObject,
                     MUIA_VertWeight, 1,
                     SWA_CText_Lines,     Lines1,
                  End,
                  Child, CT2 = CTextObject,
                     MUIA_VertWeight, 1,
                     SWA_CText_PrevCText, CT1,
                     SWA_CText_Contents,  Lines2,
                  End,
                  Child, CTextObject,
                     MUIA_VertWeight, 1,
                     SWA_CText_Contents,  Buff,
                  End,
                  Child, CT3 = CTextObject,
                     MUIA_VertWeight, 1,
                     SWA_CText_Lines,     Lines3,
                  End,
                  Child, CTextObject,
                     MUIA_VertWeight, 1,
                     SWA_CText_PrevCText, CT3,
                     SWA_CText_Lines,     Lines4,
                  End,
                  Child, RectangleObject,
                     MUIA_VertWeight, 1000,
                  End,
               End,
            End,
         End,
      End,
   End;

   if (!App) exit(0);

   DoMethod(Win, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, App, 2,
            MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

   DoMethod(vg, SWM_ListSearch_Setup, &State);

   DoMethod(b1, MUIM_Notify, MUIA_Pressed, FALSE,
            vg, 1, SWM_CText_SelAll);

   set(Win, MUIA_Window_Open, TRUE);

   DoMethod(vg, MUIM_List_Jump, 10);

   SWEventLoop(App, Win, NULL, TRUE);

   DoMethod(CT1, SWM_CText_Clip);

   MUI_DisposeObject(App);
   MUI_DisposeObject(pp);
}
Ejemplo n.º 8
0
BOOL BuildGUI(char *screenname)
{
  Object *MUISave, *MUIUse, *MUICancel;
  Object *page1,*page2;
  Object *MUITFreq,*MUITChannels,*MUITOutvol,*MUITMonvol,*MUITGain,*MUITInput,*MUITOutput,*MUITDebug,*MUITEcho,*MUITSurround,*MUITClipvol,*MUITCpu,*MUITACTime,*MUITScalemode;

  UpdateStrings();

  MUIMasterBase = (void *)OpenLibrary("muimaster.library", MUIMASTER_VLATEST);
  if(MUIMasterBase == NULL)
  {
    Printf((char *) msgTextNoOpen, (ULONG) "muimaster.library", MUIMASTER_VLATEST);
    Printf("\n");
    return FALSE;
  }

  page1 = HGroup,
    Child, VGroup,
      Child, MUIUnit = CycleObject,
        MUIA_CycleChain, 1,
        MUIA_Cycle_Entries, Units,
        MUIA_Cycle_Active, state.UnitSelected,
      End,
      Child, ListviewObject,
        MUIA_CycleChain, 1,
        MUIA_Listview_List, MUIList = ListObject,
          InputListFrame,
          MUIA_List_AutoVisible, TRUE,
        End,
      End,
      Child, HGroup,
        ReadListFrame,
        MUIA_Background, MUII_TextBack,
        Child, TextObject,
          MUIA_Text_Contents, msgProperties,
          MUIA_Text_SetMax, TRUE,
        End,
        Child, MUIInfos = TextObject,
          MUIA_Text_Contents, "\n\n\n\n\n\n",
          MUIA_Text_SetMin, FALSE,
        End,
      End,
    End,
    Child, BalanceObject,
    End,
    Child, VGroup,
      Child, HVSpace,
      Child, ColGroup(3),
        GroupFrameT(msgOptions),
        Child, MUITFreq = SpecialButton((STRPTR)msgOptFrequency),
        Child, MUIFreq = SpecialSlider(0,max(state.Frequencies-1,0),state.FreqSelected),
        Child, MUILFreq = SpecialLabel(getFreq()),
        Child, MUITChannels = SpecialButton((STRPTR)msgOptChannels),
        Child, MUIChannels = SpecialSlider(1,state.Channels,state.ChannelsSelected),
        Child, MUILChannels = SpecialLabel(getChannels()),
        Child, MUITOutvol = SpecialButton((STRPTR)msgOptVolume),
        Child, MUIOutvol = SpecialSlider(0,max(state.OutVols-1,0),state.OutVolSelected),
        Child, MUILOutvol = SpecialLabel(getOutVol()),
        Child, MUITMonvol = SpecialButton((STRPTR)msgOptMonitor),
        Child, MUIMonvol = SpecialSlider(0,max(state.MonVols-1,1),state.MonVolSelected),
        Child, MUILMonvol = SpecialLabel(getMonVol()),
        Child, MUITGain = SpecialButton((STRPTR)msgOptGain),
        Child, MUIGain = SpecialSlider(0,max(state.Gains-1,0),state.GainSelected),
        Child, MUILGain = SpecialLabel(getGain()),
        Child, MUITInput = SpecialButton((STRPTR)msgOptInput),
        Child, MUIInput = SpecialSlider(0,max(state.Inputs-1,0),state.InputSelected),
        Child, MUILInput = SpecialLabel(getInput()),
        Child, MUITOutput = SpecialButton((STRPTR)msgOptOutput),
        Child, MUIOutput = SpecialSlider(0,max(state.Outputs-1,0),state.OutputSelected),
        Child, MUILOutput = SpecialLabel(getOutput()),
      End,
      Child, MUIPlay = SimpleButton(msgButtonPlay),
      Child, HVSpace,
    End,
  End;

  page2 = VGroup,
    Child, HVSpace,
    Child, HGroup,
      Child, HVSpace,
      Child, ColGroup(2),
        GroupFrameT(msgGlobalOptions),
        Child, MUITDebug = SpecialButton((STRPTR)msgGlobOptDebugLevel),
        Child, MUIDebug = CycleObject,
          MUIA_CycleChain, 1,
          MUIA_Cycle_Entries, DebugLabels,
          MUIA_Cycle_Active, globalprefs.ahigp_DebugLevel,
        End,
        Child, MUITEcho = SpecialButton((STRPTR)msgGlobOptEcho),
        Child, MUIEcho  = CycleObject,
          MUIA_CycleChain, 1,
          MUIA_Cycle_Entries, EchoLabels,
          MUIA_Cycle_Active, (globalprefs.ahigp_DisableEcho ? 2 : 0) | (globalprefs.ahigp_FastEcho ? 1 : 0),
          MUIA_Disabled, AHIBase->lib_Version >= 5,
        End,
        Child, MUITSurround = SpecialButton((STRPTR)msgGlobOptSurround),
        Child, MUISurround = CycleObject,
          MUIA_CycleChain, 1,
          MUIA_Cycle_Entries, SurroundLabels,
          MUIA_Cycle_Active, globalprefs.ahigp_DisableSurround,
          MUIA_Disabled, AHIBase->lib_Version >= 5,
        End,
        Child, MUITClipvol = SpecialButton((STRPTR)msgGlobOptMasterVol),
        Child, MUIClipvol = CycleObject,
          MUIA_CycleChain, 1,
          MUIA_Cycle_Entries, ClipMVLabels,
          MUIA_Cycle_Active, globalprefs.ahigp_ClipMasterVolume,
          MUIA_Disabled, AHIBase->lib_Version >= 5,
        End,
        Child, MUITCpu = SpecialButton((STRPTR)msgGlobOptCPULimit),
        Child, MUICpu = SliderObject,
          MUIA_CycleChain, 1,
          MUIA_Slider_Horiz, TRUE,
          MUIA_Numeric_Min, 0,
          MUIA_Numeric_Max, 100,
          MUIA_Numeric_Value,(globalprefs.ahigp_MaxCPU * 100 + 32768) / 65536,
          MUIA_Numeric_Format,"%ld%%",
        End,
        Child, MUITACTime = SpecialButton((STRPTR)msgGlobOptACTime),
        Child, MUIACTime = SliderObject,
          MUIA_CycleChain, 1,
          MUIA_Slider_Horiz, TRUE,
          MUIA_Numeric_Min, 0,
          MUIA_Numeric_Max, 100,
          MUIA_Numeric_Value,(globalprefs.ahigp_AntiClickTime * 1000 + 32768) >> 16,
          MUIA_Numeric_Format,"%ld ms",
          MUIA_Disabled, AHIBase->lib_Version <= 4,
        End,
        Child, MUITScalemode = SpecialButton((STRPTR)msgOptScalemode),
        Child, MUIScalemode = CycleObject,
          MUIA_CycleChain, 1,
          MUIA_Cycle_Entries, ScaleLabels,
          MUIA_Cycle_Active, globalprefs.ahigp_ScaleMode,
          MUIA_Disabled, AHIBase->lib_Version <= 4,
        End,
      End,
      Child, HVSpace,
    End,
    Child, HVSpace,
  End;

  MUIApp = ApplicationObject,
    MUIA_Application_Title, (char *) msgTextProgramName,
    MUIA_Application_Version, Version,
    MUIA_Application_Copyright, "©1996-2004 Martin Blom",
    MUIA_Application_Author, "Stéphane Barbaray/Martin Blom",
    MUIA_Application_Base, "AHI",
    MUIA_Application_HelpFile, HELPFILE,
    MUIA_Application_Menustrip, MUIMenu = MUI_MakeObject(MUIO_MenustripNM,Menus,0),
    MUIA_Application_SingleTask, TRUE,
    SubWindow, MUIWindow = WindowObject,
      MUIA_Window_Title, (char *) msgTextProgramName,
      MUIA_Window_ID   , MAKE_ID('M','A','I','N'),
      MUIA_HelpNode, "AHI",
      WindowContents, VGroup,
       Child, RegisterGroup(PageNames),
         MUIA_CycleChain, 1,
         Child, page1,
         Child, page2,
       End,
       Child, HGroup,
          Child, MUISave = SimpleButton(msgButtonSave),
          Child, MUIUse = SimpleButton(msgButtonUse),
          Child, MUICancel = SimpleButton(msgButtonCancel),
        End,
      End,
    End,
  End;
  
  if( MUIApp != NULL )
  {
    APTR item = (APTR)DoMethod(MUIMenu,MUIM_FindUData,ACTID_ICONS);
    if(item)
    {
      set(item, MUIA_Menuitem_Checked, SaveIcons);
    }
    DoMethod(MUIWindow, MUIM_MultiSet, MUIA_Text_PreParse,"\033l",MUILFreq,MUILChannels,MUILOutvol,MUILMonvol,MUILGain,MUILInput,MUILOutput,NULL);
    DoMethod(MUIWindow, MUIM_MultiSet, MUIA_CycleChain, 1, MUISave,MUIUse,MUICancel,NULL);

    DoMethod(MUITFreq, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIFreq);
    DoMethod(MUITChannels, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIChannels);
    DoMethod(MUITOutvol, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIOutvol);
    DoMethod(MUITMonvol, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIMonvol);
    DoMethod(MUITGain, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIGain);
    DoMethod(MUITInput, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIInput);
    DoMethod(MUITOutput, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIOutput);
    DoMethod(MUIPlay, MUIM_Notify, MUIA_Pressed, FALSE, MUIApp, 2, MUIM_Application_ReturnID, ACTID_PLAY);
    DoMethod(MUITDebug, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIDebug);
    DoMethod(MUITEcho, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIEcho);
    DoMethod(MUITSurround, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUISurround);
    DoMethod(MUITClipvol, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIClipvol);
    DoMethod(MUITCpu, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUICpu);
    DoMethod(MUITACTime, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIACTime);
    DoMethod(MUITScalemode, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIScalemode);

    DoMethod(MUIWindow, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, MUIApp, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
    DoMethod(MUISave, MUIM_Notify, MUIA_Pressed, FALSE, MUIApp, 2, MUIM_Application_ReturnID, ACTID_SAVE);
    DoMethod(MUIUse, MUIM_Notify, MUIA_Pressed, FALSE, MUIApp, 2, MUIM_Application_ReturnID, ACTID_USE);
    DoMethod(MUICancel, MUIM_Notify, MUIA_Pressed, FALSE, MUIApp, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
    DoMethod(MUIUnit, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_UNIT);
    DoMethod(MUIList, MUIM_Notify, MUIA_List_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_MODE);
    DoMethod(MUIDebug, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID,  ACTID_DEBUG);
    DoMethod(MUISurround, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID,  ACTID_SURROUND);
    DoMethod(MUIEcho, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID,  ACTID_ECHO);
    DoMethod(MUICpu, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID,  ACTID_CPULIMIT);
    DoMethod(MUIClipvol, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID,  ACTID_CLIPMV);
    DoMethod(MUIACTime, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID,  ACTID_ACTIME);
    DoMethod(MUIScalemode, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID,  ACTID_SCALEMODE);
    DoMethod(MUIFreq, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue);
    DoMethod(MUIChannels, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue);
    DoMethod(MUIOutvol, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue);
    DoMethod(MUIMonvol, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue);
    DoMethod(MUIGain, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue);
    DoMethod(MUIInput, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue);
    DoMethod(MUIOutput, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue);
    set(MUIWindow, MUIA_Window_Open, TRUE);
    GUINewUnit();
    return TRUE;
  }
  return FALSE;
}
Ejemplo n.º 9
0
int main(void)
{
  if((DiskfontBase = OpenLibrary("diskfont.library", 38)) &&
    GETINTERFACE(IDiskfont, DiskfontBase))
  if((GfxBase = OpenLibrary("graphics.library", 38)) &&
    GETINTERFACE(IGraphics, GfxBase))
  if((IntuitionBase = (APTR)OpenLibrary("intuition.library", 38)) &&
    GETINTERFACE(IIntuition, IntuitionBase))
  if((KeymapBase = OpenLibrary("keymap.library", 37)) &&
    GETINTERFACE(IKeymap, KeymapBase))
  if((LocaleBase = OpenLibrary("locale.library", 38)) &&
    GETINTERFACE(ILocale, LocaleBase))
  if((LayersBase = OpenLibrary("layers.library", 38)) &&
    GETINTERFACE(ILayers, LayersBase))
  if((UtilityBase = (APTR)OpenLibrary("utility.library", 38)) &&
    GETINTERFACE(IUtility, UtilityBase))
  if((MUIMasterBase = OpenLibrary("muimaster.library", MUIMASTER_VMIN)) &&
    GETINTERFACE(IMUIMaster, MUIMasterBase))
  if((IFFParseBase = OpenLibrary("iffparse.library", 36)) &&
    GETINTERFACE(IIFFParse, IFFParseBase))
  {
    struct MUI_CustomClass *mcc;
    Object *a1, *a2, *app, *window, *bstring, *bstring2, *bpos, *ssize, *button, *numbutton;
    Object *menu;
    const char *classes[] = {"BetterString.mcp", NULL};

    #if defined(DEBUG)
    SetupDebug();
    #endif

    mcc = MUI_CreateCustomClass(NULL, "Area.mui", NULL, sizeof(struct InstData), ENTRY(_Dispatcher));

    /*
    menu = MenustripObject,
            MUIA_Family_Child, MenuObject, MUIA_Menu_Title, "Test",
              MUIA_Family_Child, MenuitemObject,
                MUIA_Menuitem_Title,    "Dummy",
                MUIA_Menuitem_Enabled,  TRUE,
                MUIA_Menuitem_Shortcut, "V",
              End,
            End,
           End,
    */

    app =  ApplicationObject,
          MUIA_Application_Author,      "BetterString.mcc Open Source Team",
          MUIA_Application_Base,        "BetterString-Test",
          MUIA_Application_Copyright,    "(C) 2005-2009 by BetterString.mcc Open Source Team",
          MUIA_Application_Description,  "BetterString.mcc demonstration program",
          MUIA_Application_Title,        "BetterString-Test",
          MUIA_Application_Version,      "$VER: BetterString-Demo V1.0 (18.05.2007)",
          MUIA_Application_UsedClasses, classes,

          MUIA_Application_Window, window = WindowObject,
            MUIA_Window_Title,  "BetterString-Test",
            MUIA_Window_ID,      MAKE_ID('M','A','I','N'),
            //MUIA_Window_Menustrip, menu,
            MUIA_Window_RootObject, VGroup,

            Child, PopaslObject,
                MUIA_Popstring_String,  NewObject(mcc->mcc_Class, NULL, StringFrame, MUIA_BetterString_NoInput, TRUE, MUIA_CycleChain, TRUE, End,
                MUIA_Popstring_Button,  MUI_MakeObject(MUIO_PopButton, MUII_PopUp),
                MUIA_Popasl_Type,       ASL_FontRequest,
                End,

            Child, ColGroup(2), StringFrame,
                MUIA_Background, MUII_GroupBack,
                Child, TextObject,
                    MUIA_Weight, 0,
                    MUIA_Text_Contents, "\33rName:",
                    End,
                Child, a1 = (Object *)NewObject(mcc->mcc_Class, NULL,
                    MUIA_CycleChain, TRUE,
                    MUIA_Background, MUII_GroupBack,
                    MUIA_String_AdvanceOnCR, TRUE,
                    MUIA_String_MaxLen, 10,
                    MUIA_ObjectID, MAKE_ID('N','A','M','E'),
                    End,
                Child, TextObject,
                    MUIA_Weight, 0,
                    MUIA_Text_Contents, "\33rStreet:",
                    End,
                Child, a2 = (Object *)NewObject(mcc->mcc_Class, NULL,
                    MUIA_CycleChain, TRUE,
                    MUIA_Background, MUII_GroupBack,
                    MUIA_String_AdvanceOnCR, TRUE,
                    MUIA_ObjectID, MAKE_ID('S','T','R','T'),
                    End,
                Child, TextObject,
                    MUIA_Weight, 0,
                    MUIA_Text_Contents, "\33rZip, City:",
                    End,
                Child, NewObject(mcc->mcc_Class, NULL,
                    MUIA_CycleChain, TRUE,
                    MUIA_Background, MUII_GroupBack,
                    MUIA_String_AdvanceOnCR, TRUE,
                    MUIA_ObjectID, MAKE_ID('C','I','T','Y'),
                    End,
                End,

              Child, TextObject,
                MUIA_Font, MUIV_Font_Tiny,
                MUIA_Text_Contents, "\33cBetterString.mcc",
                End,
              Child, NewObject(mcc->mcc_Class, NULL,
                StringFrame,
                MUIA_CycleChain, TRUE,
                MUIA_String_Secret, TRUE,
  //                  MUIA_String_MaxLen, 20,
                MUIA_String_AdvanceOnCR, TRUE,
                MUIA_BetterString_StayActive, TRUE,
  //                  MUIA_String_Accept, "0123456789",
                MUIA_String_Contents, "This is a wonderful example string!",
                End,
              Child, NewObject(mcc->mcc_Class, NULL,
                  StringFrame,
                  MUIA_CycleChain, TRUE,
                  MUIA_BetterString_InactiveContents, "This is a wonderful example string!",
                  End,
              Child, NewObject(mcc->mcc_Class, NULL,
                  StringFrame,
                  MUIA_CycleChain, TRUE,
                  MUIA_String_Secret, TRUE,
                  MUIA_BetterString_InactiveContents, "This is a wonderful example string!",
                  End,
              Child, TextObject,
                MUIA_Font, MUIV_Font_Tiny,
                MUIA_Text_Contents, "\33cCentered",
                End,
              Child, bstring = (Object *)NewObject(mcc->mcc_Class, NULL,
                ButtonFrame,
                MUIA_Font, MUIV_Font_Big,
  //                  StringFrame,
                MUIA_String_AdvanceOnCR, TRUE,
                MUIA_String_Format, MUIV_String_Format_Center,
                MUIA_String_Contents, "This is a wonderful example string!",
                MUIA_CycleChain, TRUE,
                End,
              Child, TextObject,
                MUIA_Font, MUIV_Font_Tiny,
                MUIA_Text_Contents, "\33cRight-Aligned",
                End,
              Child, bstring2 = NewObject(mcc->mcc_Class, NULL,
                MUIA_CycleChain, TRUE,
  //                  StringFrame,
                MUIA_String_AdvanceOnCR, TRUE,
                MUIA_String_Contents, "This is a wonderful example string!",
                MUIA_String_Format, MUIV_String_Format_Right,
                End,
              Child, TextObject,
                MUIA_Font, MUIV_Font_Tiny,
                MUIA_Text_Contents, "\33cStringObject",
                End,
              Child, StringObject,
                StringFrame,
                MUIA_String_AdvanceOnCR, TRUE,
                MUIA_String_Contents, "This is a standard StringObject",
                MUIA_String_Format, MUIV_String_Format_Right,
                MUIA_String_MaxLen, 1024,
                MUIA_CycleChain, TRUE,
                End,
              Child, HGroup,
                Child, button = SimpleButton("Insert"),
                Child, bpos = SliderObject,
                  MUIA_Slider_Horiz, TRUE,
                  MUIA_Numeric_Max, 60,
                  End,
                Child, ssize = SliderObject,
                  MUIA_Slider_Horiz, TRUE,
                  MUIA_Numeric_Min, -30,
                  MUIA_Numeric_Max, 30,
                  MUIA_Numeric_Value, 0,
                  End,
                Child, numbutton = NumericbuttonObject,
                  MUIA_Numeric_Min, -30,
                  MUIA_Numeric_Max, 30,
                  MUIA_Numeric_Value, 0,
                  MUIA_Disabled, TRUE,
                  End,
                End,
              End,
            End,
          End;

    if(app)
    {
      ULONG sigs;

      DoMethod(app, MUIM_Application_Load, MUIV_Application_Load_ENV);

      DoMethod(a1, MUIM_Notify, MUIA_String_Contents, MUIV_EveryTime, a2, 3, MUIM_Set, MUIA_String_Contents, MUIV_TriggerValue);
      DoMethod(a2, MUIM_Notify, MUIA_String_Contents, MUIV_EveryTime, a1, 3, MUIM_Set, MUIA_String_Contents, MUIV_TriggerValue);

      DoMethod(ssize, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, numbutton, 3, MUIM_Set, MUIA_Numeric_Value, MUIV_TriggerValue);
      DoMethod(bpos, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, bstring, 3, MUIM_Set, MUIA_String_BufferPos, MUIV_TriggerValue);
      DoMethod(ssize, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, bstring, 3, MUIM_Set, MUIA_BetterString_SelectSize, MUIV_TriggerValue);
      DoMethod(button, MUIM_Notify, MUIA_Pressed, FALSE, bstring, 3, MUIM_BetterString_Insert, "*Test*", MUIV_BetterString_Insert_BufferPos);
      DoMethod(window, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, MUIV_Notify_Application, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

      set(bstring, MUIA_BetterString_KeyDownFocus, bstring2);
      set(bstring2, MUIA_BetterString_KeyUpFocus, bstring);

      set(window, MUIA_Window_ActiveObject, bstring);
      set(window, MUIA_Window_DefaultObject, bstring);
      set(window, MUIA_Window_Open, TRUE);

        while((LONG)DoMethod(app, MUIM_Application_NewInput, &sigs) != MUIV_Application_ReturnID_Quit)
        {
            if(sigs)
            {
                sigs = Wait(sigs | SIGBREAKF_CTRL_C);
                if(sigs & SIGBREAKF_CTRL_C)
                    break;
            }
        }
        DoMethod(app, MUIM_Application_Save, MUIV_Application_Save_ENV);

        MUI_DisposeObject(app);
        if(mcc)
            MUI_DeleteCustomClass(mcc);
    }

    DROPINTERFACE(IMUIMaster);
    CloseLibrary(MUIMasterBase);
    MUIMasterBase = NULL;
  }

  if(IFFParseBase)
  {
    DROPINTERFACE(IIFFParse);
    CloseLibrary(IFFParseBase);
    IFFParseBase = NULL;
  }

  if(UtilityBase)
  {
    DROPINTERFACE(IUtility);
    CloseLibrary((struct Library *)UtilityBase);
  }

  if(LayersBase)
  {
    DROPINTERFACE(ILayers);
    CloseLibrary(LayersBase);
  }

  if(LocaleBase)
  {
    DROPINTERFACE(ILocale);
    CloseLibrary(LocaleBase);
  }

  if(KeymapBase)
  {
    DROPINTERFACE(IKeymap);
    CloseLibrary(KeymapBase);
  }

  if(IntuitionBase)
  {
    DROPINTERFACE(IIntuition);
    CloseLibrary((struct Library *)IntuitionBase);
  }

  if(GfxBase)
  {
    DROPINTERFACE(IGraphics);
    CloseLibrary(GfxBase);
  }

  if(DiskfontBase)
  {
    DROPINTERFACE(IDiskfont);
    CloseLibrary(DiskfontBase);
  }

  return 0;
}
Ejemplo n.º 10
0
void main( void )
{
	int Done = FALSE;
	ULONG sig;
	static STRPTR styleoptions[] = { "IRC", "Email", "HTML", NULL };
	if( !( MUIMasterBase = OpenLibrary( MUIMASTER_NAME, 19 ) ) )
		return;

	if( app = ApplicationObject,
		MUIA_Application_Title, "TextInputDemo",
		MUIA_Application_Version, "$VER: TextInput Demo 2.0",
		MUIA_Application_Copyright, "© 1997-99 by Oliver Wagner, All Rights Reserved",
		MUIA_Application_Author, "Oliver Wagner",
		MUIA_Application_Description, "Demo for Textinput.mcc",
		MUIA_Application_Base, "TEXTINPUT-DEMO",
		SubWindow, win = WindowObject,
			MUIA_Window_ID, 42,
			MUIA_Window_Title, "TextInput Demo",
			WindowContents, VGroup,
				Child, HGroup,
					Child, Label1( "Style:" ),
					Child, Cycle( styleoptions ),
				End,
				Child, HGroup, GroupFrameT( "Single line" ),
					Child, ColGroup( 2 ),
						Child, Label2( "Input:" ),
						Child, ti1 = TextinputObject, StringFrame, MUIA_CycleChain, 1,
							MUIA_ControlChar, 'a',
							MUIA_Textinput_Multiline, FALSE, 
							MUIA_Textinput_Contents, C1,
						End,
						Child, Label2( "NoInput:" ),
						Child, ti2 = TextinputObject, TextFrame, 
							MUIA_Background, MUII_TextBack,
							MUIA_Textinput_NoInput, TRUE,
							MUIA_Textinput_Contents, C1,
						End,
					End,
				End,
				Child, VGroup, GroupFrameT( "Multi line with scroll" ),
					Child, timl1 = TextinputscrollObject, StringFrame, MUIA_CycleChain, 1,
						MUIA_ControlChar, 'b',
						MUIA_Textinput_Multiline, TRUE, 
						MUIA_Textinput_Contents, C2,
					End,
					Child, bt_get = SimpleButton( "Get contents (to shell window)" ),
				End,
				Child, HGroup, GroupFrameT( "NoInput multi line with Scroll" ),
					Child, timl2 = TextinputscrollObject, TextFrame, MUIA_Background,MUII_TextBack,MUIA_CycleChain, 1,
						MUIA_ControlChar, 'c',
						MUIA_Textinput_NoInput, TRUE,
						MUIA_Textinput_Multiline, TRUE, 
						MUIA_Textinput_AutoExpand, TRUE,
						MUIA_Textinput_Contents, C2,
						MUIA_Textinput_MinVersion, 12,
						MUIA_Textinput_WordWrap, 60,
					End,
				End,
				Child, HGroup, GroupFrameT( "Old stringgadget" ),
					Child, String( C1, 256 ),
				End,
			End,
		End,
	End )
	{
		DoMethod( win, MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
			app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
		);
		DoMethod( bt_get, MUIM_Notify, MUIA_Pressed, FALSE,
			app, 2, MUIM_Application_ReturnID, 2
		);
		DoMethod( ti1, MUIM_Notify, MUIA_String_Contents, MUIV_EveryTime,
			ti2, 3, MUIM_Set, MUIA_Text_Contents, MUIV_TriggerValue
		);
		DoMethod( timl1, MUIM_Notify, MUIA_String_Contents, MUIV_EveryTime,
			timl2, 3, MUIM_Set, MUIA_Text_Contents, MUIV_TriggerValue
		);
		DoMethod( ti1, MUIM_Notify, MUIA_String_Acknowledge, MUIV_EveryTime,
			ti1, 3, MUIM_Set, MUIA_Textinput_Contents, ""
		);
		set( win, MUIA_Window_Open, TRUE );
		while( !Done )
		{
			LONG id;
			id = DoMethod( app, MUIM_Application_Input, &sig );
			switch( id )
			{
				case MUIV_Application_ReturnID_Quit:
					Done = TRUE;
				case 2:
					{
						char *p;
						get( timl1, MUIA_Textinput_Contents, &p );
						PutStr( ">>>>>\n" );
						PutStr( p );
						PutStr( "<<<<<\n" );
					}
					break;
			}
			if( sig )
				if( Wait( sig | SIGBREAKF_CTRL_C ) & SIGBREAKF_CTRL_C )
					Done = TRUE;
		}
		MUI_DisposeObject( app );
	}
	CloseLibrary( MUIMasterBase );

}
Ejemplo n.º 11
0
void nwNewWindow ( )
{
    templates[0] = "32x32";
    templates[1] = "48x48";
    templates[2] = "64x64";
    templates[3] = "160x120";
    templates[4] = "320x240";
    templates[5] = "640x480";
    templates[6] = "800x600";
    templates[7] = "1024x768";
    templates[8] = "1280x1024";

    nwWindow = WindowObject,
        MUIA_Window_ScreenTitle, _(MSG_NEW_IMAGE_SCR),
        MUIA_Window_Title, _(MSG_NEW_IMAGE_WIN),
        MUIA_Window_CloseGadget, FALSE,
        MUIA_Window_Screen, ( IPTR )lunaPubScreen,
        MUIA_Window_ID, MAKE_ID('L','P','W','P'),
        WindowContents, ( IPTR )VGroup,
            Child, ( IPTR )GroupObject,
                MUIA_Frame, MUIV_Frame_Group,
                Child, ( IPTR )HGroup,
                    Child, ( IPTR )VGroup,
                        Child, ( IPTR )HGroup,
                            Child, ( IPTR )TextObject,
                                MUIA_Text_Contents, _(MSG_NEW_IMAGE_PRJNAME),
                            End,
                            Child, ( IPTR )( nwStringPrjName = StringObject,
                                MUIA_String_MaxLen, 128,
                                MUIA_String_Format, MUIV_String_Format_Left,
                                MUIA_Frame, MUIV_Frame_String,
                                MUIA_String_Contents, _(MSG_NEW_IMAGE_UNNAMED),
                                MUIA_CycleChain, 1,
                            End ),
                        End,
                        Child, ( IPTR )HGroup,
                            Child, ( IPTR )TextObject,
                                MUIA_Text_Contents, _(MSG_NEW_IMAGE_TEMPLATES),
                            End,
                            Child, ( IPTR )( nwTemplates = CycleObject,
                                MUIA_Cycle_Entries, templates,
                                MUIA_Cycle_Active, 5,
                                MUIA_CycleChain, 1,
                            End ),
                        End,
                        Child, ( IPTR )HGroup,
                            Child, ( IPTR )TextObject,
                                MUIA_Text_Contents, _(MSG_NEW_IMAGE_CANVASW),
                            End,
                            Child, ( IPTR )( nwStringWidth = StringObject,
                                MUIA_String_MaxLen, 5,
                                MUIA_String_Format, MUIV_String_Format_Right,
                                MUIA_Frame, MUIV_Frame_String,
                                MUIA_String_Integer, 640,
                                MUIA_CycleChain, 1,
                            End ),
                        End,
                        Child, ( IPTR )HGroup,
                            Child, ( IPTR )TextObject,
                                MUIA_Text_Contents, _(MSG_NEW_IMAGE_CANVASH),
                            End,
                            Child, ( IPTR )( nwStringHeight = StringObject,
                                MUIA_String_MaxLen, 5,
                                MUIA_String_Format, MUIV_String_Format_Right,
                                MUIA_Frame, MUIV_Frame_String,
                                MUIA_String_Integer, 480,
                                MUIA_CycleChain, 1,
                            End ),
                        End,
                        Child, ( IPTR )HGroup,
                            Child, ( IPTR )TextObject,
                                MUIA_Text_Contents, _(MSG_NEW_IMAGE_NB_FRAMES),
                            End,
                            Child, ( IPTR )( nwStringFrames = StringObject,
                                MUIA_String_MaxLen, 5,
                                MUIA_String_Format, MUIV_String_Format_Right,
                                MUIA_Frame, MUIV_Frame_String,
                                MUIA_String_Integer, 1,
                                MUIA_CycleChain, 1,
                            End ),
                        End,
                    End,
                End,
            End,
            Child, ( IPTR )HGroup,
                Child, ( IPTR )( nwBtnOk = SimpleButton ( _(MSG_NEW_IMAGE_OK) ) ),
                Child, ( IPTR )( nwBtnCancel = SimpleButton ( _(MSG_NEW_IMAGE_CANCEL) ) ),
            End,
        End,
    End;
}
Ejemplo n.º 12
0
int main(void)
{    
    struct Hook addHook, displayHook, mutateHook;
    addHook.h_Entry = HookEntry;
    addHook.h_SubEntry = (HOOKFUNC) AddFunc;
    displayHook.h_Entry = HookEntry;
    displayHook.h_SubEntry = (HOOKFUNC) DynlistDisplayFunc;
    mutateHook.h_Entry = HookEntry;
    mutateHook.h_SubEntry = (HOOKFUNC) MutateFunc;
    
    app = ApplicationObject,
   	SubWindow, wnd = WindowObject,
    	    MUIA_Window_Title, "Dynamic list",
	    MUIA_Window_Activate, TRUE,

    	    WindowContents, VGroup,
    	    	Child, list = ListObject,
		    MUIA_List_DisplayHook, &displayHook,
		    MUIA_List_Format, "BAR,BAR,",
		    MUIA_List_Title, TRUE,
		    End,
		Child, HGroup,
		    Child, str1 = StringObject, End,
		    Child, str2 = StringObject, End,
		    Child, str3 = StringObject, End,
		    End,
		Child, HGroup,
		    Child, bt1 = SimpleButton("Add"),
		    Child, bt2 = SimpleButton("Remove"),
		    Child, bt3 = SimpleButton("Grow"),
		    End,
		End,
	    End,
	End;

    if (app)
    {
	ULONG sigs = 0;

	DoMethod(wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, 
	    app, (IPTR) 2, 
	    MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

	DoMethod(bt1, MUIM_Notify, MUIA_Pressed, FALSE,
		(IPTR) bt1, 3,
		MUIM_CallHook, &addHook, list);

	DoMethod(bt2, MUIM_Notify, MUIA_Pressed, FALSE,
		(IPTR) list, 2,
		MUIM_List_Remove, MUIV_List_Remove_First);

        DoMethod(bt3, MUIM_Notify, MUIA_Pressed, FALSE,
                (IPTR) list, 3,
                MUIM_CallHook, &mutateHook, NULL);

	set(wnd,MUIA_Window_Open,TRUE);

	while (DoMethod(app, MUIM_Application_NewInput, (IPTR) &sigs) != MUIV_Application_ReturnID_Quit)
	{
	    if (sigs)
	    {
		sigs = Wait(sigs | SIGBREAKF_CTRL_C);
		if (sigs & SIGBREAKF_CTRL_C) break;
	    }
	}

	MUI_DisposeObject(app);
    }
    
    return 0;
}