/*
 * Program Manager
 *
 * Copyright 1996 Ulrich Schmid
 */

#include "progman.h"

#define CONCAT(a, b) CONCAT1(a, b)
#define CONCAT1(a, b) a##b

/* Menu */

CONCAT(MENU_, LANGUAGE_ID) MENU
{
 POPUP MENU_FILE {
   MENUITEM MENU_FILE_NEW,              PM_NEW 
   MENUITEM MENU_FILE_OPEN,             PM_OPEN
   MENUITEM MENU_FILE_MOVE,             PM_MOVE,      GRAYED
   MENUITEM MENU_FILE_COPY,             PM_COPY,      GRAYED
   MENUITEM MENU_FILE_DELETE,           PM_DELETE
   MENUITEM MENU_FILE_ATTRIBUTES,       PM_ATTRIBUTES
   MENUITEM SEPARATOR   
   MENUITEM MENU_FILE_EXECUTE,          PM_EXECUTE
   MENUITEM SEPARATOR   
   MENUITEM MENU_FILE_EXIT,             PM_EXIT
 }
 POPUP MENU_OPTIONS {
   MENUITEM MENU_OPTIONS_AUTO_ARRANGE,  PM_AUTO_ARRANGE
   MENUITEM MENU_OPTIONS_MIN_ON_RUN,    PM_MIN_ON_RUN
   MENUITEM MENU_OPTIONS_SAVE_SETTINGS, PM_SAVE_SETTINGS
 }
 POPUP MENU_WINDOWS {
   MENUITEM MENU_WINDOWS_OVERLAP,       PM_OVERLAP
   MENUITEM MENU_WINDOWS_SIDE_BY_SIDE,  PM_SIDE_BY_SIDE
   MENUITEM MENU_WINDOWS_ARRANGE,       PM_ARRANGE
 }
 POPUP MENU_LANGUAGE {
   /* Dummy item, will be removed */
   MENUITEM SEPARATOR
 }
 POPUP MENU_HELP {
   MENUITEM MENU_HELP_CONTENTS,         PM_CONTENTS
   MENUITEM MENU_HELP_SEARCH,           PM_SEARCH
   MENUITEM SEPARATOR   
   MENUITEM MENU_HELP_HELP_ON_HELP,     PM_HELPONHELP
   MENUITEM MENU_HELP_TUTORIAL,         PM_TUTORIAL
   MENUITEM SEPARATOR   

   POPUP MENU_INFO {
     MENUITEM MENU_INFO_LICENSE,        PM_LICENSE
     MENUITEM MENU_INFO_NO_WARRANTY,    PM_NO_WARRANTY
     MENUITEM MENU_INFO_ABOUT_WINE,     PM_ABOUT_WINE
   }
 }
}

/* Dialog `New' */

CONCAT(DIALOG_NEW_, LANGUAGE_ID) DIALOG 0, 0, 170, 65
STYLE DS_MODALFRAME
CAPTION DIALOG_NEW_CAPTION
{
RADIOBUTTON   "",                 PM_NEW_GROUP,    10, 15,  10, 15
LTEXT         DIALOG_NEW_GROUP,   PM_NEW_GROUP,    20, 18,  80, 15
RADIOBUTTON   "",                 PM_NEW_PROGRAM,  10, 35,  10, 15
LTEXT         DIALOG_NEW_PROGRAM, PM_NEW_PROGRAM,  20, 38,  80, 15
DEFPUSHBUTTON DIALOG_OK,          IDOK,           105,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_CANCEL,      IDCANCEL,       105, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_HELP,        PM_HELP,        105, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Move' */

CONCAT(DIALOG_MOVE_, LANGUAGE_ID) DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME
CAPTION DIALOG_MOVE_CAPTION
{
LTEXT         DIALOG_MOVE_PROGRAM,    IDIGNORE,            5,  5,  90, 15
LTEXT         "",                     PM_PROGRAM,         95,  5,  90, 15
LTEXT         DIALOG_MOVE_FROM_GROUP, IDIGNORE,            5, 13,  90, 15
LTEXT         "",                     PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         DIALOG_MOVE_TO_GROUP,   PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                              PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON DIALOG_OK,              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_CANCEL,          IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_HELP,            PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Copy' */

CONCAT(DIALOG_COPY_, LANGUAGE_ID) DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME
CAPTION DIALOG_COPY_CAPTION
{
LTEXT         DIALOG_COPY_PROGRAM,    IDIGNORE,            5,  5,  90, 15
LTEXT         "",                     PM_PROGRAM,         95,  5,  90, 15
LTEXT         DIALOG_COPY_FROM_GROUP, IDIGNORE,            5, 13,  90, 15
LTEXT         "",                     PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         DIALOG_COPY_TO_GROUP,   PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                              PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON DIALOG_OK,              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_CANCEL,          IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_HELP,            PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Group attributes' */

CONCAT(DIALOG_GROUP_, LANGUAGE_ID) DIALOG 0, 0, 230, 65
STYLE DS_MODALFRAME
CAPTION DIALOG_GROUP_CAPTION
{
LTEXT     DIALOG_GROUP_DESCRIPTION, PM_DESCRIPTION_TXT,   05, 18,  50, 10
EDITTEXT                            PM_DESCRIPTION,       60, 18,  90, 15, WS_TABSTOP
LTEXT     DIALOG_GROUP_FILE,        PM_FILE_TXT,          05, 38,  50, 10
EDITTEXT                            PM_FILE,              60, 38,  90, 15, WS_TABSTOP
DEFPUSHBUTTON DIALOG_OK,            IDOK,                155,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_CANCEL,        IDCANCEL,            155, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_HELP,          PM_HELP,             155, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Program attributes' */

CONCAT(DIALOG_PROGRAM_, LANGUAGE_ID) DIALOG 0, 0, 250, 105
STYLE DS_MODALFRAME
CAPTION DIALOG_PROGRAM_CAPTION
{
LTEXT         DIALOG_PROGRAM_DESCRIPTION,  PM_DESCRIPTION_TXT,   05, 10,  60, 10
EDITTEXT                                   PM_DESCRIPTION,       80, 10,  90, 15, WS_TABSTOP
LTEXT         DIALOG_PROGRAM_COMMAND_LINE, PM_COMMAND_LINE_TXT,  05, 25,  60, 10
EDITTEXT                                   PM_COMMAND_LINE,      80, 25,  90, 15, WS_TABSTOP
LTEXT         DIALOG_PROGRAM_DIRECTORY,    PM_DIRECTORY_TXT,     05, 40,  60, 10
EDITTEXT                                   PM_DIRECTORY,         80, 40,  90, 15, WS_TABSTOP
LTEXT         DIALOG_PROGRAM_HOT_KEY,      PM_HOT_KEY_TXT,       05, 55,  60, 10
EDITTEXT                                   PM_HOT_KEY,           80, 55,  90, 15, WS_TABSTOP
ICON          "",                          PM_ICON,              20, 70
CHECKBOX      "",                          PM_SYMBOL,            80, 75,  10, 10, WS_TABSTOP
LTEXT         DIALOG_PROGRAM_SYMBOL,       IDIGNORE,             95, 75,  75, 10
DEFPUSHBUTTON DIALOG_OK,                   IDOK,                185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_CANCEL,               IDCANCEL,            185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_BROWSE,               PM_BROWSE,           185, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_PROGRAM_OTHER_SYMBOL, PM_OTHER_SYMBOL,     185, 65,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_HELP,                 PM_HELP,             185, 85,  60, 15, WS_TABSTOP
}

/* Dialog `Symbol' */

CONCAT(DIALOG_SYMBOL_, LANGUAGE_ID) DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME
CAPTION DIALOG_SYMBOL_CAPTION
{
LTEXT     DIALOG_SYMBOL_FILE,    PM_ICON_FILE_TXT,    5, 15,  40, 10
EDITTEXT                         PM_ICON_FILE,       45, 15,  85, 15, WS_TABSTOP
LTEXT     DIALOG_SYMBOL_CURRENT, PM_SYMBOL_LIST_TXT,  5, 30, 125, 10
COMBOBOX                         PM_SYMBOL_LIST,      5, 40, 125, 50,
   CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_OWNERDRAWFIXED | WS_TABSTOP
DEFPUSHBUTTON DIALOG_OK,         IDOK,              135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_CANCEL,     IDCANCEL,          135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_BROWSE ,    PM_BROWSE,         135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_HELP,       PM_HELP,           135, 65,  60, 15, WS_TABSTOP
}

/* Dialog `Execute' */

CONCAT(DIALOG_EXECUTE_, LANGUAGE_ID) DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME
CAPTION DIALOG_EXECUTE_CAPTION
{
LTEXT     DIALOG_EXECUTE_COMMAND_LINE, IDIGNORE,   05, 15, 120, 10
EDITTEXT                               PM_COMMAND, 05, 25, 120, 15, WS_TABSTOP
CHECKBOX      "",                      PM_SYMBOL,  05, 45,  10, 10, WS_TABSTOP
LTEXT         DIALOG_EXECUTE_SYMBOL,   IDIGNORE,   20, 45, 120, 10
DEFPUSHBUTTON DIALOG_OK,               IDOK,      135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_CANCEL,           IDCANCEL,  135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_BROWSE ,          PM_BROWSE, 135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    DIALOG_HELP,             PM_HELP,   135, 65,  60, 15, WS_TABSTOP
}

/* Strings */

#define ADDSTRING(str) ADDSTRING1(LANGUAGE_NUMBER, IDS_ ## str) STRING_ ## str
#define ADDSTRING1(langnum, ids) ADDSTRING2(langnum, ids)
#define ADDSTRING2(langnum, ids) 0x ## langnum ## ids

#define STRINGIFY(str) STRINGIFY1(str)
#define STRINGIFY1(str) #str

#define STRING_LANGUAGE_ID        STRINGIFY(LANGUAGE_ID)
#define STRING_LANGUAGE_MENU_ITEM LANGUAGE_MENU_ITEM

STRINGTABLE
{
ADDSTRING(LANGUAGE_ID)
ADDSTRING(LANGUAGE_MENU_ITEM)
ADDSTRING(PROGRAM_MANAGER)
ADDSTRING(ERROR)
ADDSTRING(WARNING)
ADDSTRING(INFO)
ADDSTRING(DELETE)
ADDSTRING(DELETE_GROUP_s)
ADDSTRING(DELETE_PROGRAM_s)
ADDSTRING(NOT_IMPLEMENTED)
ADDSTRING(FILE_READ_ERROR_s)
ADDSTRING(FILE_WRITE_ERROR_s)
ADDSTRING(GRPFILE_READ_ERROR_s)
ADDSTRING(OUT_OF_MEMORY)
ADDSTRING(WINHELP_ERROR)
ADDSTRING(UNKNOWN_FEATURE_s)
ADDSTRING(FILE_NOT_OVERWRITTEN_s)
ADDSTRING(SAVE_GROUP_AS_s)
ADDSTRING(NO_HOT_KEY)
ADDSTRING(ALL_FILES)
ADDSTRING(PROGRAMS)
ADDSTRING(LIBRARIES_DLL)
ADDSTRING(SYMBOL_FILES)
ADDSTRING(SYMBOLS_ICO)
}
