Example #1
0
static APTR build_gui(void)
{
    APTR app, ui, mode, start_server, connect_to, disconnect, cancel, bind_server;

    app = mui_get_app();

    ui = GroupObject,
           Child, mode = StringObject,
             MUIA_Frame, MUIV_Frame_String,
             MUIA_FrameTitle, translate_text(IDS_CURRENT_MODE),
           End,
           Child, GroupObject,
             MUIA_Frame, MUIV_Frame_Group,
             MUIA_Group_Horiz, TRUE,
             Child, ui_to_from[0].object = StringObject,
               MUIA_Frame, MUIV_Frame_String,
               MUIA_FrameTitle, translate_text(IDS_TCP_PORT),
               MUIA_String_Accept, "0123456789",
               MUIA_String_MaxLen, 5+1,
             End,
             Child, start_server = TextObject,
               ButtonFrame,
               MUIA_Background, MUII_ButtonBack,
               MUIA_Text_Contents, translate_text(IDS_START_SERVER),
               MUIA_Text_PreParse, "\033c",
               MUIA_InputMode, MUIV_InputMode_RelVerify,
             End,
           End,
           Child, GroupObject,
             MUIA_Frame, MUIV_Frame_Group,
             MUIA_Group_Horiz, TRUE,
             Child, bind_server = TextObject,
               ButtonFrame,
               MUIA_Background, MUII_ButtonBack,
               MUIA_Text_Contents, translate_text(IDS_SERVER_BIND),
               MUIA_Text_PreParse, "\033c",
               MUIA_InputMode, MUIV_InputMode_RelVerify,
             End,
             Child, ui_to_from[1].object = StringObject,
               MUIA_Frame, MUIV_Frame_String,
               MUIA_String_Accept, ".0123456789",
               MUIA_String_MaxLen, 15+1,
             End,
           End,
           Child, GroupObject,
             MUIA_Frame, MUIV_Frame_Group,
             MUIA_Group_Horiz, TRUE,
             Child, connect_to = TextObject,
               ButtonFrame,
               MUIA_Background, MUII_ButtonBack,
               MUIA_Text_Contents, translate_text(IDS_CONNECT_TO),
               MUIA_Text_PreParse, "\033c",
               MUIA_InputMode, MUIV_InputMode_RelVerify,
             End,
             Child, ui_to_from[2].object = StringObject,
               MUIA_Frame, MUIV_Frame_String,
               MUIA_String_Accept, ".0123456789",
               MUIA_String_MaxLen, 15+1,
             End,
           End,
           Child, GroupObject,
             MUIA_Frame, MUIV_Frame_Group,
             MUIA_Group_Horiz, TRUE,
             Child, disconnect = TextObject,
               ButtonFrame,
               MUIA_Background, MUII_ButtonBack,
               MUIA_Text_Contents, translate_text(IDS_DISCONNECT),
               MUIA_Text_PreParse, "\033c",
               MUIA_InputMode, MUIV_InputMode_RelVerify,
             End,
             Child, cancel = TextObject,
               ButtonFrame,
               MUIA_Background, MUII_ButtonBack,
               MUIA_Text_Contents, translate_text(IDS_CANCEL),
               MUIA_Text_PreParse, "\033c",
               MUIA_InputMode, MUIV_InputMode_RelVerify,
             End,
           End,
         End;

    if (ui != NULL) {
        DoMethod(start_server, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, BTN_START_SERVER);

        DoMethod(connect_to, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, BTN_CONNECT_TO);

        DoMethod(disconnect, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, BTN_DISCONNECT);

        DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

        switch(network_get_mode()) {
            case NETWORK_IDLE:
                set(mode, MUIA_String_Contents, translate_text(IDS_IDLE));
                break;
            case NETWORK_SERVER:
                set(mode, MUIA_String_Contents, translate_text(IDS_SERVER_LISTENING));
                break;
            case NETWORK_SERVER_CONNECTED:
                set(mode, MUIA_String_Contents, translate_text(IDS_CONNECTED_SERVER));
                break;
            case NETWORK_CLIENT:
                set(mode, MUIA_String_Contents, translate_text(IDS_CONNECTED_CLIENT));
                break;
        }
    }

    return ui;
}
static APTR build_drive_gui(void)
{
    APTR app, ui, ok, cancel;

    app = mui_get_app();

    ui = GroupObject,
           FILENAME(ui_to_from_drive[0].object, "1540", hook_object_drive[0])
           FILENAME(ui_to_from_drive[1].object, "1541", hook_object_drive[1])
           FILENAME(ui_to_from_drive[2].object, "1541-II", hook_object_drive[2])
           FILENAME(ui_to_from_drive[3].object, "1570", hook_object_drive[3])
           FILENAME(ui_to_from_drive[4].object, "1571", hook_object_drive[4])
           FILENAME(ui_to_from_drive[5].object, "1581", hook_object_drive[5])
           FILENAME(ui_to_from_drive[6].object, "2000", hook_object_drive[6])
           FILENAME(ui_to_from_drive[7].object, "4000", hook_object_drive[7])
           FILENAME(ui_to_from_drive[8].object, "2031", hook_object_drive[8])
           FILENAME(ui_to_from_drive[9].object, "2030", hook_object_drive[9])
           FILENAME(ui_to_from_drive[10].object, "3040", hook_object_drive[10])
           FILENAME(ui_to_from_drive[11].object, "4040", hook_object_drive[11])
           FILENAME(ui_to_from_drive[12].object, "1001", hook_object_drive[12])
           OK_CANCEL_BUTTON
         End;

    if (ui != NULL) {
        DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

        DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, BTN_OK);

        DoMethod(hook_object_drive[0], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive0);

        DoMethod(hook_object_drive[1], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive1);

        DoMethod(hook_object_drive[2], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive2);

        DoMethod(hook_object_drive[3], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive3);

        DoMethod(hook_object_drive[4], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive4);

        DoMethod(hook_object_drive[5], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive5);

        DoMethod(hook_object_drive[6], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive6);

        DoMethod(hook_object_drive[7], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive7);

        DoMethod(hook_object_drive[8], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive8);

        DoMethod(hook_object_drive[9], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive9);

        DoMethod(hook_object_drive[10], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive10);

        DoMethod(hook_object_drive[11], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive11);

        DoMethod(hook_object_drive[12], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseDrive12);
    }

    return ui;
}
Example #3
0
static APTR build_gui(void)
{
    APTR app, ui, ok, cancel;
    char *joyport1_device = NULL;
    char *joyport2_device = NULL;
    char *joyport3_device = NULL;
    char *joyport4_device = NULL;
    char *joyport5_device = NULL;
    int total = (ports[JOYPORT_1] << 4) | (ports[JOYPORT_2] << 3) | (ports[JOYPORT_3] << 2) | (ports[JOYPORT_4] << 1) | ports[JOYPORT_5];

    if (ports[JOYPORT_1]) {
        joyport1_device = lib_msprintf(translate_text(IDS_JOYPORT_S_DEVICE), translate_text(joyport_get_port_trans_name(JOYPORT_1)));
    }

    if (ports[JOYPORT_2]) {
        joyport2_device = lib_msprintf(translate_text(IDS_JOYPORT_S_DEVICE), translate_text(joyport_get_port_trans_name(JOYPORT_2)));
    }

    if (ports[JOYPORT_3]) {
        joyport3_device = lib_msprintf(translate_text(IDS_JOYPORT_S_DEVICE), translate_text(joyport_get_port_trans_name(JOYPORT_3)));
    }

    if (ports[JOYPORT_4]) {
        joyport4_device = lib_msprintf(translate_text(IDS_JOYPORT_S_DEVICE), translate_text(joyport_get_port_trans_name(JOYPORT_4)));
    }

    if (ports[JOYPORT_5]) {
        joyport5_device = lib_msprintf(translate_text(IDS_JOYPORT_S_DEVICE), translate_text(joyport_get_port_trans_name(JOYPORT_5)));
    }

    app = mui_get_app();

    switch (total) {
        case 31:
            ui = GroupObject,
                   CYCLE(ui_to_from[0].object, joyport1_device, ui_joyport_1)
                   CYCLE(ui_to_from[1].object, joyport2_device, ui_joyport_2)
                   CYCLE(ui_to_from[2].object, joyport3_device, ui_joyport_3)
                   CYCLE(ui_to_from[3].object, joyport4_device, ui_joyport_4)
                   CYCLE(ui_to_from[4].object, joyport5_device, ui_joyport_5)
                   OK_CANCEL_BUTTON
                 End;
             break;
        case 30:
            ui = GroupObject,
                   CYCLE(ui_to_from[0].object, joyport1_device, ui_joyport_1)
                   CYCLE(ui_to_from[1].object, joyport2_device, ui_joyport_2)
                   CYCLE(ui_to_from[2].object, joyport3_device, ui_joyport_3)
                   CYCLE(ui_to_from[3].object, joyport4_device, ui_joyport_4)
                   OK_CANCEL_BUTTON
                 End;
             break;
        case 22:
            ui = GroupObject,
                   CYCLE(ui_to_from[0].object, joyport1_device, ui_joyport_1)
                   CYCLE(ui_to_from[2].object, joyport3_device, ui_joyport_3)
                   CYCLE(ui_to_from[3].object, joyport4_device, ui_joyport_4)
                   OK_CANCEL_BUTTON
                 End;
             break;
        case 28:
            ui = GroupObject,
                   CYCLE(ui_to_from[0].object, joyport1_device, ui_joyport_1)
                   CYCLE(ui_to_from[1].object, joyport2_device, ui_joyport_2)
                   CYCLE(ui_to_from[2].object, joyport3_device, ui_joyport_3)
                   OK_CANCEL_BUTTON
                 End;
             break;
        case 24:
            ui = GroupObject,
                   CYCLE(ui_to_from[0].object, joyport1_device, ui_joyport_1)
                   CYCLE(ui_to_from[1].object, joyport2_device, ui_joyport_2)
                   OK_CANCEL_BUTTON
                 End;
             break;
        case 6:
            ui = GroupObject,
                   CYCLE(ui_to_from[2].object, joyport3_device, ui_joyport_3)
                   CYCLE(ui_to_from[3].object, joyport4_device, ui_joyport_4)
                   OK_CANCEL_BUTTON
                 End;
             break;

    }

    if (ui != NULL) {
        DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

        DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, BTN_OK);
    }

    return ui;
}
Example #4
0
static APTR build_computer_gui(void)
{
    APTR app, ui, ok, cancel;

    app = mui_get_app();

    ui = GroupObject,
           FILENAME(ui_to_from_computer[0].object, "Kernal Int.", hook_object_computer[0])
           FILENAME(ui_to_from_computer[1].object, "Kernal DE", hook_object_computer[1])
           FILENAME(ui_to_from_computer[2].object, "Kernal FI", hook_object_computer[2])
           FILENAME(ui_to_from_computer[3].object, "Kernal FR", hook_object_computer[3])
           FILENAME(ui_to_from_computer[4].object, "Kernal IT", hook_object_computer[4])
           FILENAME(ui_to_from_computer[5].object, "Kernal NO", hook_object_computer[5])
           FILENAME(ui_to_from_computer[6].object, "Kernal SE", hook_object_computer[6])
           FILENAME(ui_to_from_computer[7].object, "Basic LO", hook_object_computer[7])
           FILENAME(ui_to_from_computer[8].object, "Basic HI", hook_object_computer[8])
           FILENAME(ui_to_from_computer[9].object, "Char. Int.", hook_object_computer[9])
           FILENAME(ui_to_from_computer[10].object, "Char. DE", hook_object_computer[10])
           FILENAME(ui_to_from_computer[11].object, "Char. FR", hook_object_computer[11])
           FILENAME(ui_to_from_computer[12].object, "Char. SE", hook_object_computer[12])
           FILENAME(ui_to_from_computer[13].object, "Kernal C64", hook_object_computer[13])
           FILENAME(ui_to_from_computer[14].object, "Basic C64", hook_object_computer[14])
           OK_CANCEL_BUTTON
         End;

    if (ui != NULL) {
        DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

        DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, BTN_OK);

        DoMethod(hook_object_computer[0], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer0);

        DoMethod(hook_object_computer[1], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer1);

        DoMethod(hook_object_computer[2], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer2);

        DoMethod(hook_object_computer[3], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer3);

        DoMethod(hook_object_computer[4], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer4);

        DoMethod(hook_object_computer[5], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer5);

        DoMethod(hook_object_computer[6], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer6);

        DoMethod(hook_object_computer[7], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer7);

        DoMethod(hook_object_computer[8], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer8);

        DoMethod(hook_object_computer[9], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer9);

        DoMethod(hook_object_computer[10], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer10);

        DoMethod(hook_object_computer[11], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer11);

        DoMethod(hook_object_computer[12], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer12);

        DoMethod(hook_object_computer[13], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer13);

        DoMethod(hook_object_computer[14], MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseComputer14);
    }

    return ui;
}
Example #5
0
static APTR build_gui(int ieee, int userport)
{
    APTR app, ui, ok, cancel;
    APTR browse_button1, browse_button2, browse_button3;
    APTR ff_button1, ff_button2, ff_button3, ff_button4;

#ifdef AMIGA_MORPHOS
    static const struct Hook BrowseFileHook1 = { { NULL, NULL }, (VOID *)HookEntry, (VOID *)Browse1, NULL };
    static const struct Hook BrowseFileHook2 = { { NULL, NULL }, (VOID *)HookEntry, (VOID *)Browse2, NULL };
    static const struct Hook BrowseFileHook3 = { { NULL, NULL }, (VOID *)HookEntry, (VOID *)Browse3, NULL };
    static const struct Hook FFHook4 = { { NULL, NULL }, (VOID *)HookEntry, (VOID *)formfeed_4, NULL };
    static const struct Hook FFHook5 = { { NULL, NULL }, (VOID *)HookEntry, (VOID *)formfeed_5, NULL };
    static const struct Hook FFHook6 = { { NULL, NULL }, (VOID *)HookEntry, (VOID *)formfeed_6, NULL };
    static const struct Hook FFHookUserport = { { NULL, NULL }, (VOID *)HookEntry, (VOID *)formfeed_userport, NULL };
#else
    static const struct Hook BrowseFileHook1 = { { NULL, NULL }, (VOID *)Browse1, NULL, NULL };
    static const struct Hook BrowseFileHook2 = { { NULL, NULL }, (VOID *)Browse2, NULL, NULL };
    static const struct Hook BrowseFileHook3 = { { NULL, NULL }, (VOID *)Browse3, NULL, NULL };
    static const struct Hook FFHook4 = { { NULL, NULL }, (VOID *)formfeed_4, NULL, NULL };
    static const struct Hook FFHook5 = { { NULL, NULL }, (VOID *)formfeed_5, NULL, NULL };
    static const struct Hook FFHook5 = { { NULL, NULL }, (VOID *)formfeed_6, NULL, NULL };
    static const struct Hook FFHookUserport = { { NULL, NULL }, (VOID *)formfeed_userport, NULL, NULL };
#endif

    app = mui_get_app();

    if (ieee) {
        ui = GroupObject,
               CYCLE(ui_to_from[0].object, translate_text(IDS_PRINTER_4_EMULATION), ui_printer_emulation)
               CYCLE(ui_to_from[1].object, translate_text(IDS_PRINTER_4_DRIVER), ui_printer_driver)
               CYCLE(ui_to_from[2].object, translate_text(IDS_PRINTER_4_OUTPUT_TYPE), ui_printer_output_type)
               CYCLE(ui_to_from[3].object, translate_text(IDS_PRINTER_4_OUTPUT_DEVICE), ui_printer_output_device)
               BUTTON(ff_button1, translate_text(IDS_PRINTER_4_SEND_FORMFEED))
               CYCLE(ui_to_from[5].object, translate_text(IDS_PRINTER_5_EMULATION), ui_printer_emulation)
               CYCLE(ui_to_from[6].object, translate_text(IDS_PRINTER_5_DRIVER), ui_printer_driver)
               CYCLE(ui_to_from[7].object, translate_text(IDS_PRINTER_5_OUTPUT_TYPE), ui_printer_output_type)
               CYCLE(ui_to_from[8].object, translate_text(IDS_PRINTER_5_OUTPUT_DEVICE), ui_printer_output_device)
               BUTTON(ff_button2, translate_text(IDS_PRINTER_5_SEND_FORMFEED))
               CYCLE(ui_to_from[10].object, translate_text(IDS_PRINTER_6_EMULATION), ui_printer_emulation)
               CYCLE(ui_to_from[11].object, translate_text(IDS_PRINTER_6_DRIVER), ui_plotter_driver)
               CYCLE(ui_to_from[12].object, translate_text(IDS_PRINTER_6_OUTPUT_TYPE), ui_printer_output_type)
               CYCLE(ui_to_from[13].object, translate_text(IDS_PRINTER_6_OUTPUT_DEVICE), ui_printer_output_device)
               BUTTON(ff_button3, translate_text(IDS_PRINTER_6_SEND_FORMFEED))
               CYCLE(ui_to_from[15].object, translate_text(IDS_USERPORT_PRINTER_EMULATION), ui_printer_enable)
               CYCLE(ui_to_from[16].object, translate_text(IDS_USERPORT_PRINTER_DRIVER), ui_printer_driver)
               CYCLE(ui_to_from[17].object, translate_text(IDS_USERPORT_PRINTER_OUTPUT_TYPE), ui_printer_output_type)
               CYCLE(ui_to_from[18].object, translate_text(IDS_USERPORT_PRINTER_OUTPUT_DEVICE), ui_printer_output_device)
               BUTTON(ff_button4, translate_text(IDS_USERPORT_PRINTER_SEND_FORMFEED))
               FILENAME(ui_to_from[19].object, translate_text(IDS_PRINTER_DEVICE_1_FILENAME), browse_button1)
               FILENAME(ui_to_from[20].object, translate_text(IDS_PRINTER_DEVICE_2_FILENAME), browse_button2)
               FILENAME(ui_to_from[21].object, translate_text(IDS_PRINTER_DEVICE_3_FILENAME), browse_button3)
               OK_CANCEL_BUTTON
             End;
    } else {
        if (userport) {
            ui = GroupObject,
                   CYCLE(ui_to_from[0].object, translate_text(IDS_PRINTER_4_EMULATION), ui_printer_emulation)
                   CYCLE(ui_to_from[1].object, translate_text(IDS_PRINTER_4_DRIVER), ui_printer_driver)
                   CYCLE(ui_to_from[2].object, translate_text(IDS_PRINTER_4_OUTPUT_TYPE), ui_printer_output_type)
                   CYCLE(ui_to_from[3].object, translate_text(IDS_PRINTER_4_OUTPUT_DEVICE), ui_printer_output_device)
                   BUTTON(ff_button1, translate_text(IDS_PRINTER_4_SEND_FORMFEED))
                   CYCLE(ui_to_from[4].object, translate_text(IDS_ENABLE_IEC_PRINTER_4), ui_printer_enable)
                   CYCLE(ui_to_from[5].object, translate_text(IDS_PRINTER_5_EMULATION), ui_printer_emulation)
                   CYCLE(ui_to_from[6].object, translate_text(IDS_PRINTER_5_DRIVER), ui_printer_driver)
                   CYCLE(ui_to_from[7].object, translate_text(IDS_PRINTER_5_OUTPUT_TYPE), ui_printer_output_type)
                   CYCLE(ui_to_from[8].object, translate_text(IDS_PRINTER_5_OUTPUT_DEVICE), ui_printer_output_device)
                   BUTTON(ff_button2, translate_text(IDS_PRINTER_5_SEND_FORMFEED))
                   CYCLE(ui_to_from[9].object, translate_text(IDS_ENABLE_IEC_PRINTER_5), ui_printer_enable)
                   CYCLE(ui_to_from[10].object, translate_text(IDS_PRINTER_6_EMULATION), ui_printer_emulation)
                   CYCLE(ui_to_from[11].object, translate_text(IDS_PRINTER_6_DRIVER), ui_plotter_driver)
                   CYCLE(ui_to_from[12].object, translate_text(IDS_PRINTER_6_OUTPUT_TYPE), ui_printer_output_type)
                   CYCLE(ui_to_from[13].object, translate_text(IDS_PRINTER_6_OUTPUT_DEVICE), ui_printer_output_device)
                   BUTTON(ff_button3, translate_text(IDS_PRINTER_6_SEND_FORMFEED))
                   CYCLE(ui_to_from[14].object, translate_text(IDS_ENABLE_IEC_PRINTER_6), ui_printer_enable)
                   CYCLE(ui_to_from[15].object, translate_text(IDS_USERPORT_PRINTER_EMULATION), ui_printer_enable)
                   CYCLE(ui_to_from[16].object, translate_text(IDS_USERPORT_PRINTER_DRIVER), ui_printer_driver)
                   CYCLE(ui_to_from[17].object, translate_text(IDS_USERPORT_PRINTER_OUTPUT_TYPE), ui_printer_output_type)
                   CYCLE(ui_to_from[18].object, translate_text(IDS_USERPORT_PRINTER_OUTPUT_DEVICE), ui_printer_output_device)
                   BUTTON(ff_button4, translate_text(IDS_USERPORT_PRINTER_SEND_FORMFEED))
                   FILENAME(ui_to_from[19].object, translate_text(IDS_PRINTER_DEVICE_1_FILENAME), browse_button1)
                   FILENAME(ui_to_from[20].object, translate_text(IDS_PRINTER_DEVICE_2_FILENAME), browse_button2)
                   FILENAME(ui_to_from[21].object, translate_text(IDS_PRINTER_DEVICE_3_FILENAME), browse_button3)
                   OK_CANCEL_BUTTON
                 End;
        } else {
            ui = GroupObject,
                   CYCLE(ui_to_from[0].object, translate_text(IDS_PRINTER_4_EMULATION), ui_printer_emulation)
                   CYCLE(ui_to_from[1].object, translate_text(IDS_PRINTER_4_DRIVER), ui_printer_driver)
                   CYCLE(ui_to_from[2].object, translate_text(IDS_PRINTER_4_OUTPUT_TYPE), ui_printer_output_type)
                   CYCLE(ui_to_from[3].object, translate_text(IDS_PRINTER_4_OUTPUT_DEVICE), ui_printer_output_device)
                   BUTTON(ff_button1, translate_text(IDS_PRINTER_4_SEND_FORMFEED))
                   CYCLE(ui_to_from[4].object, translate_text(IDS_ENABLE_IEC_PRINTER_4), ui_printer_enable)
                   CYCLE(ui_to_from[5].object, translate_text(IDS_PRINTER_5_EMULATION), ui_printer_emulation)
                   CYCLE(ui_to_from[6].object, translate_text(IDS_PRINTER_5_DRIVER), ui_printer_driver)
                   CYCLE(ui_to_from[7].object, translate_text(IDS_PRINTER_5_OUTPUT_TYPE), ui_printer_output_type)
                   CYCLE(ui_to_from[8].object, translate_text(IDS_PRINTER_5_OUTPUT_DEVICE), ui_printer_output_device)
                   BUTTON(ff_button2, translate_text(IDS_PRINTER_5_SEND_FORMFEED))
                   CYCLE(ui_to_from[9].object, translate_text(IDS_ENABLE_IEC_PRINTER_5), ui_printer_enable)
                   CYCLE(ui_to_from[10].object, translate_text(IDS_PRINTER_6_EMULATION), ui_printer_emulation)
                   CYCLE(ui_to_from[11].object, translate_text(IDS_PRINTER_6_DRIVER), ui_plotter_driver)
                   CYCLE(ui_to_from[12].object, translate_text(IDS_PRINTER_6_OUTPUT_TYPE), ui_printer_output_type)
                   CYCLE(ui_to_from[13].object, translate_text(IDS_PRINTER_6_OUTPUT_DEVICE), ui_printer_output_device)
                   BUTTON(ff_button3, translate_text(IDS_PRINTER_6_SEND_FORMFEED))
                   CYCLE(ui_to_from[14].object, translate_text(IDS_ENABLE_IEC_PRINTER_6), ui_printer_enable)
                   FILENAME(ui_to_from[19].object, translate_text(IDS_PRINTER_DEVICE_1_FILENAME), browse_button1)
                   FILENAME(ui_to_from[20].object, translate_text(IDS_PRINTER_DEVICE_2_FILENAME), browse_button2)
                   FILENAME(ui_to_from[21].object, translate_text(IDS_PRINTER_DEVICE_3_FILENAME), browse_button3)
                   OK_CANCEL_BUTTON
                 End;
        }
    }

    if (ui != NULL) {
        DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);

        DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_Application_ReturnID, BTN_OK);

        DoMethod(browse_button1, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseFileHook1);

        DoMethod(browse_button2, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseFileHook2);

        DoMethod(browse_button3, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &BrowseFileHook3);

        DoMethod(ff_button1, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &FFHook4);

        DoMethod(ff_button2, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &FFHook5);

        DoMethod(ff_button3, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &FFHook6);

        DoMethod(ff_button4, MUIM_Notify, MUIA_Pressed, FALSE,
                 app, 2, MUIM_CallHook, &FFHookUserport);
    }

    return ui;
}