home *** CD-ROM | disk | FTP | other *** search
- /*
- ** PhonePanelUI.c
- **
- ** The phonebook user interface creation routines
- **
- ** Copyright © 1990-1996 by Olaf `Olsen' Barthel
- ** All Rights Reserved
- **
- ** :ts=4
- */
-
- #ifndef _GLOBAL_H
- #include "Global.h"
- #endif
-
- /* The gadget IDs are in there */
-
- #ifndef _PHONEPANEL_H
- #include "PhonePanel.h"
- #endif /* _PHONEPANEL_H */
-
- LayoutHandle *
- CreateEditorHandle(PhoneListContext *Context,BOOL Activate)
- {
- STATIC LONG LabelTable1[] =
- {
- MSG_PHONEBOOK_SETTINGS_SERIAL_TXT,
- MSG_PHONEBOOK_SETTINGS_MODEM_TXT,
- MSG_PHONEBOOK_SETTINGS_SCREEN_TXT,
- MSG_PHONEBOOK_SETTINGS_TERMINAL_TXT,
- MSG_PHONEBOOK_SETTINGS_EMULATION_TXT,
- MSG_PHONEBOOK_SETTINGS_CLIPBOARD_TXT,
- MSG_PHONEBOOK_SETTINGS_CAPTURE_TXT,
- MSG_PHONEBOOK_SETTINGS_COMMANDS_TXT,
- -1
- };
-
- STATIC LONG LabelTable2[] =
- {
- MSG_PHONEBOOK_SETTINGS_MISCELLANEOUS_TXT,
- MSG_PHONEBOOK_SETTINGS_PATHS_TXT,
- MSG_PHONEBOOK_SETTINGS_TRANSFER_TXT,
- MSG_PHONEBOOK_SETTINGS_TRANSLATION_TXT,
- MSG_PHONEBOOK_SETTINGS_FUNCTION_KEYS_TXT,
- MSG_PHONEBOOK_SETTINGS_CURSOR_KEYS_TXT,
- MSG_PHONEBOOK_SETTINGS_FAST_MACROS_TXT,
- MSG_PHONEBOOK_SETTINGS_RATES_TXT,
- -1
- };
-
- PhoneNode *Node;
- LONG Count;
-
- LayoutHandle *Handle;
- BOOL IsFirst,IsLast,Disabled,RatesValid;
- LONG LabelLen1,LabelLen2;
- struct Configuration *LocalConfig;
- LONG i,Len;
-
- Node = Context->SelectedNode;
- Count = Context->PhoneHandle->DialMarker;
-
- if(Node)
- {
- IsFirst = (Node->Entry->Count == -1 || Node->Entry->Count == 0);
- IsLast = (Node->Entry->Count == -1 || Node->Entry->Count == Count - 1);
- Disabled = FALSE;
- LocalConfig = Node->Entry->Config;
- RatesValid = (!IsListEmpty((struct List *)&Node->Entry->TimeDateList) && !Node->Entry->Header->NoRates);
- }
- else
- {
- IsFirst = TRUE;
- IsLast = TRUE;
- Disabled = TRUE;
- LocalConfig = NULL;
- RatesValid = FALSE;
- }
-
- if(Handle = LT_CreateHandleTags(Context->Window->WScreen,
- LAHN_LocaleHook,&LocaleHook,
- TAG_DONE))
- {
- for(i = LabelLen1 = 0 ; LabelTable1[i] != -1 ; i++)
- {
- Len = LT_LabelChars(Handle,LocaleString(LabelTable1[i]));
-
- if(Len > LabelLen1)
- LabelLen1 = Len;
- }
-
- for(i = LabelLen2 = 0 ; LabelTable2[i] != -1 ; i++)
- {
- Len = LT_LabelChars(Handle,LocaleString(LabelTable2[i]));
-
- if(Len > LabelLen2)
- LabelLen2 = Len;
- }
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- LA_LabelID, MSG_PHONEBOOK_ENTRY_DATA_TXT,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_LabelID, MSG_PHONEBOOK_SYSTEM_NAME_TXT,
- LA_Chars, 30,
- LA_ID, GAD_SYSTEM_NAME,
- GTST_String, Node ? Node->Entry->Header->Name : (STRPTR)"",
- GTST_MaxChars, sizeof(Node->Entry->Header->Name) - 1,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_LabelID, MSG_PHONEBOOK_COMMENT_TXT,
- LA_ID, GAD_COMMENT,
- GTST_String, Node ? Node->Entry->Header->Comment : (STRPTR)"",
- GTST_MaxChars, sizeof(Node->Entry->Header->Comment) - 1,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_LabelID, MSG_PHONEBOOK_NUMBERS_TXT,
- LA_ID, GAD_NUMBERS,
- GTST_String, Node ? Node->Entry->Header->Number : (STRPTR)"",
- GTST_MaxChars, sizeof(Node->Entry->Header->Number),
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_LabelID, MSG_PHONEBOOK_QUICK_MENU_TXT,
- LA_ID, GAD_QUICK_MENU,
- GTCB_Checked, Node ? Node->Entry->Header->QuickMenu : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_LabelID, MSG_PHONEPANEL_AUTO_DIAL_TXT,
- LA_ID, GAD_AUTODIAL,
- GTCB_Checked, Node ? Node->Entry->Header->AutoDial : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_LabelID, MSG_HIDE_TXT,
- LA_ID, GAD_HIDE_USERNAME_PASSWORD,
- GTCB_Checked, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_LabelID, MSG_PHONEBOOK_USER_NAME_TXT,
- LA_ID, GAD_USER_NAME,
- GTST_String, "",
- GTST_MaxChars, structsizeof(PhoneHeader,UserName) - 1,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_LabelID, MSG_PHONEBOOK_LOGIN_PASSWORD_TXT,
- LA_ID, GAD_USER_PASSWORD,
- LAST_LastGadget,TRUE,
- GTST_String, "",
- GTST_MaxChars, structsizeof(PhoneHeader,Password) - 1,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_TXT,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_SERIAL_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->SerialConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen1,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_SERIAL_TXT,
- LA_ID, GAD_SERIAL_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_MODEM_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->ModemConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen1,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_MODEM_TXT,
- LA_ID, GAD_MODEM_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_SCREEN_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->ScreenConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen1,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_SCREEN_TXT,
- LA_ID, GAD_SCREEN_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_TERMINAL_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->TerminalConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen1,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_TERMINAL_TXT,
- LA_ID, GAD_TERMINAL_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_EMULATION_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->EmulationConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen1,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_EMULATION_TXT,
- LA_ID, GAD_EMULATION_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_CLIPBOARD_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->ClipConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen1,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_CLIPBOARD_TXT,
- LA_ID, GAD_CLIPBOARD_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_CAPTURE_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->CaptureConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen1,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_CAPTURE_TXT,
- LA_ID, GAD_CAPTURE_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_COMMAND_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->CommandConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen1,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_COMMANDS_TXT,
- LA_ID, GAD_COMMAND_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_MISC_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->MiscConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen2,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_MISCELLANEOUS_TXT,
- LA_ID, GAD_MISC_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_PATH_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->PathConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen2,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_PATHS_TXT,
- LA_ID, GAD_PATH_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_TRANSFER_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->TransferConfig != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen2,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_TRANSFER_TXT,
- LA_ID, GAD_TRANSFER_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_TRANSLATION_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->TranslationFileName != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen2,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_TRANSLATION_TXT,
- LA_ID, GAD_TRANSLATION_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_MACRO_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->MacroFileName != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen2,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_FUNCTION_KEYS_TXT,
- LA_ID, GAD_MACRO_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_CURSOR_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->CursorFileName != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen2,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_CURSOR_KEYS_TXT,
- LA_ID, GAD_CURSOR_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_FASTMACRO_STATE,
- GTCB_Checked, LocalConfig ? (LocalConfig->FastMacroFileName != NULL) : FALSE,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen2,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_FAST_MACROS_TXT,
- LA_ID, GAD_FASTMACRO_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_RATE_STATE,
- GTCB_Checked, RatesValid,
- GA_Disabled, Disabled,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_Chars, LabelLen2,
- LA_LabelID, MSG_PHONEBOOK_SETTINGS_RATES_TXT,
- LA_ID, GAD_RATE_EDIT,
- GA_Disabled, Disabled,
- LABT_Smaller, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- LAXB_FullSize, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, TAPEDECK_KIND,
- LATD_ButtonType, TDBT_Previous,
- LATD_Smaller, TRUE,
- LA_ID, GAD_FIRST_ENTRY,
- GA_Disabled, Disabled || IsFirst,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, TAPEDECK_KIND,
- LATD_ButtonType, TDBT_Rewind,
- LATD_Smaller, TRUE,
- LA_ID, GAD_PREVIOUS_ENTRY,
- GA_Disabled, Disabled || IsFirst,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, TAPEDECK_KIND,
- LATD_ButtonType, TDBT_Play,
- LATD_Smaller, TRUE,
- LA_ID, GAD_NEXT_ENTRY,
- GA_Disabled, Disabled || IsLast,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, TAPEDECK_KIND,
- LATD_ButtonType, TDBT_Next,
- LATD_Smaller, TRUE,
- LA_ID, GAD_LAST_ENTRY,
- GA_Disabled, Disabled || IsLast,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_GLOBAL_CLOSE_TXT,
- LABT_EscKey, TRUE,
- LABT_ExtraFat, TRUE,
- LA_ID, GAD_CLOSE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- if(LT_Build(Handle,
- LAWN_TitleID, MSG_PHONEBOOK_EDIT_TXT,
- LAWN_UserPort, Context->WindowPort,
- LAWN_HelpHook, &GuideHook,
- WA_DepthGadget, TRUE,
- WA_DragBar, TRUE,
- WA_RMBTrap, TRUE,
- WA_Activate, Activate,
- WA_SimpleRefresh, TRUE,
- LAWN_Parent, Context->Window,
- TAG_DONE))
- {
- if(Activate)
- {
- LT_ShowWindow(Handle,TRUE);
-
- if(!Disabled)
- LT_Activate(Handle,GAD_SYSTEM_NAME);
- }
-
- return(Handle);
- }
- else
- LT_DeleteHandle(Handle);
- }
-
- return(NULL);
- }
-
- /* PhoneListViewRender():
- *
- * This callback routine is responsible for rendering
- * the single listview entries.
- */
-
- STATIC ULONG SAVE_DS ASM
- PhoneListViewRender(REG(a0) struct Hook *Hook,REG(a2) struct PhoneNode *Node,REG(a1) struct LVDrawMsg *Msg)
- {
- /* We only know how to redraw lines. */
-
- if(Msg->lvdm_MethodID == LV_DRAW)
- {
- struct RastPort *RPort = Msg->lvdm_RastPort;
- LONG Count = Node->Entry->Count + 1,
- Left = Msg->lvdm_Bounds.MinX,
- Top = Msg->lvdm_Bounds.MinY,
- Width = Msg->lvdm_Bounds.MaxX - Msg->lvdm_Bounds.MinX + 1,
- Height = Msg->lvdm_Bounds.MaxY - Msg->lvdm_Bounds.MinY + 1,
- FgPen,BgPen,
- Template,
- Len,LabelLen;
- STRPTR String;
- UBYTE Num[8];
- UWORD *Pens;
-
- Pens = Msg->lvdm_DrawInfo->dri_Pens;
-
- /* Determine the rendering pens. */
-
- if(Msg->lvdm_State == LVR_SELECTED)
- {
- FgPen = FILLTEXTPEN;
- BgPen = FILLPEN;
- }
- else
- {
- FgPen = TEXTPEN;
- BgPen = BACKGROUNDPEN;
- }
-
- FgPen = Pens[FgPen];
- BgPen = Pens[BgPen];
-
- if(Count > 0)
- {
- if(Pens[HIGHLIGHTTEXTPEN] != BgPen)
- FgPen = Pens[HIGHLIGHTTEXTPEN];
- }
-
- /* Set the rendering pens. */
-
- SetABPenDrMd(RPort,BgPen,BgPen,JAM2);
-
- RectFill(RPort,Left,Top,Left + 1,Top + Height - 1);
-
- Left += 2;
- Width -= 2;
-
- /* Determine maximum index text length. */
-
- Template = 3 * ((ULONG)Hook->h_Data) + TextLength(RPort," - ",3);
-
- /* Get the vanilla name. */
-
- String = &Node->Node.ln_Name[6];
-
- /* Has this entry been selected? */
-
- if(Count > 0)
- {
- LONG Delta;
-
- /* Set up the header. */
-
- LimitedSPrintf(sizeof(Num),Num,"%3ld - ",Count);
-
- /* Determine header length. */
-
- Len = TextLength(RPort,Num,strlen(Num));
-
- /* Fill the space to precede the header. */
-
- if((Delta = Template - Len) > 0)
- {
- SetAPen(RPort,BgPen);
- FillBox(RPort,Left,Top,Delta,Height);
- }
-
- /* Render the header, right-justified. */
-
- SetAPen(RPort,FgPen);
-
- PlaceText(RPort,Left + Delta,Top,Num,strlen(Num));
- }
- else
- {
- /* Fill the blank space to precede the vanilla name. */
-
- SetAPen(RPort,BgPen);
- FillBox(RPort,Left,Top,Template,Height);
- SetAPen(RPort,FgPen);
- }
-
- /* Adjust width and area left edge. */
-
- Left += Template;
- Width -= Template;
-
- /* Determine length of vanilla name. */
-
- LabelLen = strlen(String);
-
- /* Try to make it fit. */
-
- LabelLen = FitText(RPort,Width,String,LabelLen);
-
- /* Print the vanilla name if possible. */
-
- if(LabelLen)
- {
- Len = TextLength(RPort,String,LabelLen);
-
- PlaceText(RPort,Left,Top,String,LabelLen);
-
- Left += Len;
- Width -= Len;
- }
-
- /* Fill the area to follow the vanilla name. */
-
- if(Width > 0)
- {
- SetAPen(RPort,BgPen);
- FillBox(RPort,Left,Top,Width,Height);
- }
-
- /* If the item happens to be disabled, draw the cross-hatch
- * pattern across it.
- */
-
- ListViewStateFill(Msg);
-
- return(LVCB_OK);
- }
- else
- return(LVCB_UNKNOWN);
- }
-
- LayoutHandle *
- CreateManagerHandle(PhoneListContext *Context,struct Window *Parent)
- {
- STATIC WORD LabelTable[] =
- {
- MSG_PHONEBOOK_TAG_ALL_TXT,
- MSG_PHONEBOOK_TOGGLE_ALL_TXT,
- MSG_PHONEBOOK_UNTAG_ALL_TXT,
- MSG_PHONEBOOK_TAG_BY_PATTERN_TXT,
-
- MSG_PHONEBOOK_EDIT_ENTRY_TXT,
- MSG_PHONEBOOK_COPY_ENTRY_TXT,
- MSG_PHONEBOOK_ADD_ENTRY_TXT,
- MSG_PHONEBOOK_MAKE_GROUP_TXT,
-
- MSG_PHONEBOOK_DIAL_TXT,
- MSG_PHONEBOOK_USE_ENTRY_TXT,
- MSG_PHONEBOOK_DELETE_ENTRY_TXT,
- MSG_PHONEBOOK_SPLIT_GROUP_TXT,
-
- -1
- };
-
- struct List *PhoneList;
- ULONG Count;
- ULONG *Grouper;
- LayoutHandle *Handle;
- PhonebookHandle *PhoneHandle;
-
- PhoneList = Context->CurrentList;
- Count = Context->PhoneHandle->DialMarker;
- Grouper = &Context->PhoneHandle->DefaultGroup;
- PhoneHandle = Context->PhoneHandle;
-
- if(Handle = LT_CreateHandleTags(Parent->WScreen,
- LAHN_LocaleHook,&LocaleHook,
- TAG_DONE))
- {
- STATIC struct Hook ListViewHook;
-
- LONG i,Max,Size;
- UBYTE SmallString[2];
- struct IBox Bounds;
- LONG Len,LabelLen;
-
- InitHook(&ListViewHook,(HOOKFUNC)PhoneListViewRender,NULL);
-
- for(i = LabelLen = 0 ; i < NUM_ELEMENTS(LabelTable) ; i++)
- {
- Len = LT_LabelChars(Handle,LocaleString(LabelTable[i]));
-
- if(Len > LabelLen)
- LabelLen = Len;
- }
-
- SmallString[1] = 0;
- Max = 0;
-
- for(i = '0' ; i <= '9' ; i++)
- {
- SmallString[0] = i;
-
- if((Size = LT_LabelWidth(Handle,SmallString)) > Max)
- Max = Size;
- }
-
- ListViewHook.h_Data = (APTR)Max;
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_NoIndent, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LONG NumEntries;
- LONG NumColumns;
- BOOL HasEntries;
-
- if(PhoneList && !IsListEmpty(PhoneList))
- {
- struct Node *Node;
- LONG Len;
-
- HasEntries = TRUE;
-
- for(Node = PhoneList->lh_Head, NumEntries = NumColumns = 0 ; Node->ln_Succ ; Node = Node->ln_Succ)
- {
- NumEntries++;
-
- Len = strlen(&Node->ln_Name[6]);
-
- if(Len > NumColumns)
- NumColumns = Len;
- }
-
- if(NumEntries < 6)
- NumEntries = 6;
- else
- {
- if(NumEntries > 46)
- NumEntries = 46;
- }
-
- if(NumColumns < 46)
- NumColumns = 46;
- }
- else
- {
- HasEntries = FALSE;
- NumEntries = 6;
- NumColumns = 46;
- }
-
- LT_New(Handle,
- LA_Type, CycleType,
- LACY_TabKey, TRUE,
- GTCY_Labels, Context->GroupLabels,
- LA_ID, GAD_GROUPID,
- LA_ULONG, Grouper,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, LISTVIEW_KIND,
- LA_ID, GAD_NAMELIST,
- LALV_Columns, 46,
- LALV_Lines, 6,
- LALV_CursorKey, TRUE,
- LALV_ResizeX, TRUE,
- LALV_ResizeY, TRUE,
- LALV_MaxGrowX, NumColumns,
- LALV_MaxGrowY, NumEntries,
- LALV_Link, NIL_LINK,
- GTLV_CallBack, &ListViewHook,
- GTLV_MaxPen, GetListMaxPen(Handle->DrawInfo->dri_Pens),
- GTLV_Labels, PhoneList,
-
- Kick30 ? TAG_IGNORE : LALV_TextAttr, ~0,
- Kick30 ? GA_Disabled : TAG_IGNORE, !HasEntries,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BOX_KIND,
- LA_ID, GAD_COMMENTLINE,
- LABX_Rows, 1,
- LA_Chars, 50,
- LABX_DrawBox, TRUE,
- LABX_ReserveSpace, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_Spread, TRUE,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, TAPEDECK_KIND,
- LATD_ButtonType, TDBT_Previous,
- LATD_Smaller, TRUE,
- LA_Chars, LabelLen,
- LA_ID, GAD_MOVE_FIRST,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, TAPEDECK_KIND,
- LATD_ButtonType, TDBT_Rewind,
- LATD_Smaller, TRUE,
- LA_ID, GAD_MOVE_UP,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, TAPEDECK_KIND,
- LATD_ButtonType, TDBT_Play,
- LATD_Smaller, TRUE,
- LA_ID, GAD_MOVE_DOWN,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, TAPEDECK_KIND,
- LATD_ButtonType, TDBT_Next,
- LATD_Smaller, TRUE,
- LA_ID, GAD_MOVE_LAST,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_NoIndent, TRUE,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_TAG_ALL_TXT,
- LA_ID, GAD_SELECT_ALL,
- GA_Disabled, !PhoneHandle->NumPhoneEntries || Count == PhoneHandle->NumPhoneEntries,
- LA_Chars, LabelLen,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_TOGGLE_ALL_TXT,
- LA_ID, GAD_TOGGLE_ALL,
- GA_Disabled, !PhoneHandle->NumPhoneEntries,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_UNTAG_ALL_TXT,
- LA_ID, GAD_CLEAR_ALL,
- GA_Disabled, !Count,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_TAG_BY_PATTERN_TXT,
- LA_ID, GAD_PATTERN,
- GA_Disabled, !PhoneHandle->NumPhoneEntries,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_NoIndent, TRUE,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_EDIT_ENTRY_TXT,
- LA_Chars, LabelLen,
- LA_ID, GAD_EDIT,
- GA_Disabled, TRUE,
- LABT_DefaultCorrection, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_COPY_ENTRY_TXT,
- LA_ID, GAD_COPY,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_ADD_ENTRY_TXT,
- LA_ID, GAD_ADD,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_MAKE_GROUP_TXT,
- LA_ID, GAD_MAKE_GROUP,
- GA_Disabled, !Count,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_NoIndent, TRUE,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_DIAL_TXT,
- LA_ID, GAD_DIAL,
- GA_Disabled, !Count || (Online && !Config->MiscConfig->ProtectiveMode),
- LABT_ReturnKey, TRUE,
- LA_Chars, LabelLen,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_USE_ENTRY_TXT,
- LA_ID, GAD_USE,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_DELETE_ENTRY_TXT,
- LA_ID, GAD_DELETE,
- GA_Disabled, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_SPLIT_GROUP_TXT,
- LA_ID, GAD_SPLIT_GROUP,
- GA_Disabled, *Grouper == 0,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, YBAR_KIND,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- LAGR_SameSize, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_LabelID, MSG_PHONEPANEL_AUTO_DIAL_TXT,
- LA_ID, GAD_MAIN_AUTODIAL,
- LA_BYTE, &PhoneHandle->AutoDial,
- LA_LabelPlace, PLACE_Right,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_LabelID, MSG_PHONEPANEL_EXIT_WHEN_FINISHED_TXT,
- LA_ID, GAD_MAIN_EXIT_WHEN_FINISHED,
- LA_BYTE, &PhoneHandle->AutoExit,
- GA_Disabled, !PhoneHandle->AutoDial,
- LA_LabelPlace, PLACE_Right,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_PASSWORD_TXT,
- LA_ID, GAD_PASSWORD,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_LOAD_TXT,
- LA_ID, GAD_LOAD,
- GA_Disabled, GetActiveEntry(PhoneHandle) != NULL,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_MERGE_TXT,
- LA_ID, GAD_MERGE,
- GA_Disabled, !PhoneHandle->NumPhoneEntries,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_SAVE_TXT,
- LA_ID, GAD_SAVE,
- GA_Disabled, !PhoneHandle->NumPhoneEntries,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_PRINT_TXT,
- LA_ID, GAD_PRINT,
- GA_Disabled, !PhoneHandle->NumPhoneEntries,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_SORT_TXT,
- LA_ID, GAD_SORT,
- GA_Disabled, !PhoneHandle->NumPhoneEntries,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_PHONEBOOK_COPY_CONFIG_TXT,
- LA_ID, GAD_COPY_CONFIG,
- GA_Disabled, !PhoneHandle->NumPhoneEntries,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- if(Parent == Window)
- {
- Bounds.Left = WindowLeft + Window->LeftEdge;
- Bounds.Top = WindowTop + Window->TopEdge;
- Bounds.Width = WindowWidth;
- Bounds.Height = WindowHeight;
- }
-
- if(LT_Build(Handle,
- LAWN_TitleText, Context->WindowTitle,
- LAWN_IDCMP, IDCMP_CLOSEWINDOW,
- LAWN_Bounds, &Bounds,
- LAWN_HelpHook, &GuideHook,
- LAWN_Show, TRUE,
- LAWN_UserPort, Context->WindowPort,
- WA_DepthGadget, TRUE,
- WA_DragBar, TRUE,
- WA_RMBTrap, TRUE,
- WA_Activate, TRUE,
- WA_CloseGadget, TRUE,
- /* WA_SimpleRefresh, TRUE, */
- WA_NoCareRefresh, TRUE,
-
- Parent == Window ? LAWN_Bounds : TAG_IGNORE,&Bounds,
- Parent == Window ? TAG_IGNORE : LAWN_Parent,Parent,
- TAG_DONE))
- return(Handle);
- else
- LT_DeleteHandle(Handle);
- }
-
- return(NULL);
- }
-
- LayoutHandle *
- CreateSelectorHandle(struct Window *Parent,STRPTR Name,STRPTR Number,STRPTR Comment,BYTE *Mode)
- {
- LayoutHandle *Handle;
-
- if(Handle = LT_CreateHandleTags(Parent->WScreen,
- LAHN_LocaleHook,&LocaleHook,
- TAG_DONE))
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CYCLE_KIND,
- LA_ID, GAD_SELECT_MODE,
- LA_Chars, 40,
- LA_BYTE, Mode,
- LACY_TabKey, TRUE,
- LACY_FirstLabel,MSG_PHONEBOOK_TAG_ENTRIES1_TXT,
- LACY_LastLabel, MSG_PHONEBOOK_TAG_ENTRIES2_TXT,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_ID, GAD_SELECT_NAME,
- LA_LabelID, MSG_PHONEBOOK_SYSTEM_NAME_TXT,
- LA_STRPTR, Name,
- GTST_MaxChars, structsizeof(PhoneHeader,Name) - 1,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_ID, GAD_SELECT_COMMENT,
- LA_LabelID, MSG_PHONEBOOK_COMMENT_TXT,
- LA_STRPTR, Comment,
- LAST_LastGadget,TRUE,
- GTST_MaxChars, structsizeof(PhoneHeader,Comment) - 1,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_ID, GAD_SELECT_NUMBER,
- LA_LabelID, MSG_PHONEBOOK_NUMBERS_TXT,
- LA_STRPTR, Number,
- GTST_MaxChars, structsizeof(PhoneHeader,Number) - 1,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- LAXB_FullWidth, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_ID, GAD_SELECT_APPLY,
- LA_LabelID, MSG_PHONEBOOK_APPLY_TXT,
- LABT_ExtraFat, TRUE,
- LABT_ReturnKey, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_ID, GAD_SELECT_APPLY_AND_CLOSE,
- LA_LabelID, MSG_PHONEBOOK_APPLY_AND_CLOSE_TXT,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_ID, GAD_SELECT_CLOSE,
- LA_LabelID, MSG_GLOBAL_CLOSE_TXT,
- LABT_EscKey, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- if(LT_Build(Handle,
- LAWN_TitleID, MSG_PHONEBOOK_EDIT_PATTERNS_TXT,
- LAWN_HelpHook, &GuideHook,
- LAWN_Show, TRUE,
- LAWN_Parent, Parent,
- LAWN_UserPort, Parent->UserPort,
- WA_DepthGadget, TRUE,
- WA_DragBar, TRUE,
- WA_RMBTrap, TRUE,
- WA_Activate, TRUE,
- WA_SimpleRefresh, TRUE,
- TAG_DONE))
- return(Handle);
- else
- LT_DeleteHandle(Handle);
- }
-
- return(NULL);
- }
-
- LayoutHandle *
- CreateGroupHandle(struct Window *Parent,STRPTR *Labels,ULONG Group)
- {
- LayoutHandle *Handle;
-
- if(Handle = LT_CreateHandleTags(Parent->WScreen,
- LAHN_LocaleHook,&LocaleHook,
- TAG_DONE))
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CycleType,
- LA_ID, GAD_GROUP_LIST,
- GTCY_Labels, Labels,
- GTCY_Active, Group,
- LACY_TabKey, TRUE,
- LA_LabelID, MSG_PHONEBOOK_PICK_GROUP_TXT,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, STRING_KIND,
- LA_ID, GAD_GROUP_NAME,
- LA_LabelID, MSG_PHONEBOOK_OR_ENTER_NAME_TXT,
- LA_Chars, 30,
- GTST_MaxChars, structsizeof(PhoneGroupNode,LocalName) - 1,
- GTST_String, Labels[Group],
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- LAXB_FullWidth, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_ID, GAD_GROUP_OK,
- LA_LabelID, MSG_GLOBAL_USE_GAD,
- LABT_ExtraFat, TRUE,
- LABT_ReturnKey, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_ID, GAD_GROUP_CANCEL,
- LA_LabelID, MSG_GLOBAL_CANCEL_GAD,
- LABT_EscKey, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- if(LT_Build(Handle,
- LAWN_TitleID, MSG_PHONEBOOK_SELECT_GROUP_TXT,
- LAWN_HelpHook, &GuideHook,
- LAWN_Show, TRUE,
- LAWN_Parent, Parent,
- LAWN_UserPort, Parent->UserPort,
- WA_DepthGadget, TRUE,
- WA_DragBar, TRUE,
- WA_RMBTrap, TRUE,
- WA_Activate, TRUE,
- WA_SimpleRefresh, TRUE,
- TAG_DONE))
- {
- LT_Activate(Handle,GAD_GROUP_NAME);
-
- return(Handle);
- }
- else
- LT_DeleteHandle(Handle);
- }
-
- return(NULL);
- }
-
- LayoutHandle *
- CreateSortHandle(struct Window *Parent,WORD *Criteria,BOOL *Reverse)
- {
- LayoutHandle *Handle;
-
- if(Handle = LT_CreateHandleTags(Parent->WScreen,
- LAHN_LocaleHook,&LocaleHook,
- TAG_DONE))
- {
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, MX_KIND,
- LA_ID, GAD_SORT_CRITERIA,
- LAMX_FirstLabel,MSG_PHONEBOOK_SORTORDER1_TXT,
- LAMX_LastLabel, MSG_PHONEBOOK_SORTORDER4_TXT,
- LAMX_TabKey, TRUE,
- LA_WORD, Criteria,
- LA_LabelID, MSG_SORT_CRITERIA_TXT,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, CHECKBOX_KIND,
- LA_ID, GAD_SORT_REVERSE,
- LA_LabelID, MSG_REVERSE_ORDER_TXT,
- LA_BOOL, Reverse,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, YBAR_KIND,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, VERTICAL_KIND,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_ID, GAD_SORT_IT,
- LA_LabelID, MSG_JUST_SORT_TXT,
- LABT_ReturnKey, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_ID, GAD_SORT_AND_CLOSE,
- LA_LabelID, MSG_SORT_AND_CLOSE_TXT,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_ID, GAD_SORT_JUST_CLOSE,
- LA_LabelID, MSG_GLOBAL_CLOSE_TXT,
- LABT_EscKey, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- if(LT_Build(Handle,
- LAWN_TitleID, MSG_SORT_PHONEBOOK_TXT,
- LAWN_HelpHook, &GuideHook,
- LAWN_Show, TRUE,
- LAWN_Parent, Parent,
- LAWN_UserPort, Parent->UserPort,
- WA_DepthGadget, TRUE,
- WA_DragBar, TRUE,
- WA_RMBTrap, TRUE,
- WA_Activate, TRUE,
- WA_SimpleRefresh, TRUE,
- TAG_DONE))
- return(Handle);
- else
- LT_DeleteHandle(Handle);
- }
-
- return(NULL);
- }
-
- VOID
- UpdatePasswordWindow(LayoutHandle *Handle)
- {
- UBYTE Password1[MAX_PASSWORD_LENGTH+1],
- Password2[MAX_PASSWORD_LENGTH+1];
- BOOL Disabled;
-
- memset(Password1,0,sizeof(Password1));
- memset(Password2,0,sizeof(Password2));
-
- strcpy(Password1,LT_GetString(Handle,GAD_NEW_PASSWORD));
- strcpy(Password2,LT_GetString(Handle,GAD_REPEAT_PASSWORD));
-
- if(Password1[0] && !memcmp(Password1,Password2,MAX_PASSWORD_LENGTH))
- Disabled = FALSE;
- else
- Disabled = TRUE;
-
- LT_SetAttributes(Handle,GAD_USE_NEW_PASSWORD,
- GA_Disabled,Disabled,
- TAG_DONE);
- }
-
- BOOL
- GetWindowPassword(LayoutHandle *Handle,STRPTR Password)
- {
- UBYTE Password1[MAX_PASSWORD_LENGTH+1],
- Password2[MAX_PASSWORD_LENGTH+1];
-
- memset(Password1,0,sizeof(Password1));
- memset(Password2,0,sizeof(Password2));
-
- strcpy(Password1,LT_GetString(Handle,GAD_NEW_PASSWORD));
- strcpy(Password2,LT_GetString(Handle,GAD_REPEAT_PASSWORD));
-
- if(Password1[0] && !memcmp(Password1,Password2,MAX_PASSWORD_LENGTH+1))
- {
- strcpy(Password,Password1);
-
- return(TRUE);
- }
- else
- {
- LONG ID;
-
- LT_SetAttributes(Handle,GAD_USE_NEW_PASSWORD,
- GA_Disabled,TRUE,
- TAG_DONE);
-
- if(!Password2[0])
- ID = GAD_REPEAT_PASSWORD;
- else
- ID = GAD_NEW_PASSWORD;
-
- LT_Activate(Handle,ID);
-
- DisplayBeep(Handle->Window->WScreen);
-
- return(FALSE);
- }
- }
-
- LayoutHandle *
- CreatePasswordHandle(struct Window *Parent,BOOL PasswordEnabled)
- {
- LayoutHandle *Handle;
-
- if(Handle = LT_CreateHandleTags(Parent->WScreen,
- LAHN_LocaleHook, &LocaleHook,
- LAHN_AutoActivate, TRUE,
- TAG_DONE))
- {
- LT_New(Handle,
- LA_Type,VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type,VERTICAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, PASSWORD_KIND,
- LA_LabelID, MSG_ENTER_PASSWORD_GAD,
- LA_ID, GAD_NEW_PASSWORD,
- LA_Chars, 20,
- GTST_MaxChars, MAX_PASSWORD_LENGTH + 1,
- LAST_Activate, TRUE,
- TAG_DONE);
-
- LT_New(Handle,
- LA_Type, PASSWORD_KIND,
- LA_LabelID, MSG_REPEAT_PASSWORD_GAD,
- LA_ID, GAD_REPEAT_PASSWORD,
- GTST_MaxChars, MAX_PASSWORD_LENGTH + 1,
- LAST_LastGadget,TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type,HORIZONTAL_KIND,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, XBAR_KIND,
- LAXB_FullWidth, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_New(Handle,
- LA_Type, HORIZONTAL_KIND,
- LAGR_SameSize, TRUE,
- LAGR_Spread, TRUE,
- TAG_DONE);
- {
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_USE_NEWPASSWORD_GAD,
- LA_ID, GAD_USE_NEW_PASSWORD,
- GA_Disabled, TRUE,
- LABT_ExtraFat, TRUE,
- LABT_ReturnKey, TRUE,
- TAG_DONE);
-
- if(PasswordEnabled)
- {
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_CLEAR_PASSWORD_GAD,
- LA_ID, GAD_CLEAR_PASSWORD,
- LABT_ExtraFat, TRUE,
- TAG_DONE);
- }
-
- LT_New(Handle,
- LA_Type, BUTTON_KIND,
- LA_LabelID, MSG_GLOBAL_CANCEL_GAD,
- LA_ID, GAD_CANCEL_PASSWORD,
- LABT_EscKey, TRUE,
- TAG_DONE);
-
- LT_EndGroup(Handle);
- }
-
- LT_EndGroup(Handle);
- }
-
- if(LT_Build(Handle,
- LAWN_TitleID, MSG_ENTER_PASSWORD_TXT,
- LAWN_HelpHook, &GuideHook,
- LAWN_Show, TRUE,
- LAWN_Parent, Parent,
- LAWN_UserPort, Parent->UserPort,
- WA_DepthGadget, TRUE,
- WA_DragBar, TRUE,
- WA_RMBTrap, TRUE,
- WA_Activate, TRUE,
- WA_SimpleRefresh, TRUE,
- TAG_DONE))
- return(Handle);
- else
- LT_DeleteHandle(Handle);
- }
-
- return(NULL);
- }
-