;- PB Macros ;these are macros to wrap PB calls that require special constants ;- File ;{ Macro GetFileCreated( FileName ) GetFileDate(FileName, #PB_Date_Created ) EndMacro Macro GetFileAccessed( FileName ) GetFileDate(FileName, #PB_Date_Accessed) EndMacro Macro GetFileModified( FileName ) GetFileDate(FileName, #PB_Date_Modified ) EndMacro ;} ;- Menu ;{ Menu Commands Macro MenuShortCut(WID,ID,Text,ShortCut) MenuItem( ID , Text + Chr(9) + DoubleQuote#ShortCut#DoubleQuote ) AddKeyboardShortcut( WID , #PB_SHORTCUT_#ShortCut , ID ) EndMacro Macro MenuToggle( MENU , ID ) SetMenuItemState( MENU , ID , 1 - GetMenuItemState( MENU , ID ) ) EndMacro ;} ;- MDI return value is new ChildWindowID ;{ Macro AddMDIWindow(MDI,Caption,IconID,wFlags) AddGadgetItem(MDI,#PB_Any,Caption,IconID,wFlags) EndMacro Macro Cascade(MDI) SetGadgetState(MDI,#PB_MDI_Cascade) ; Cascade the child windows EndMacro Macro TileVertically(MDI) SetGadgetState(MDI,#PB_MDI_TileVertically) ; Tile the childwindows vertically EndMacro Macro TileHorizontally(MDI) SetGadgetState(MDI,#PB_MDI_TileHorizontally); Tile the childwindows horizontally EndMacro Macro NextWindow(MDI) SetGadgetState(MDI,#PB_MDI_Next) ; Give focus To the Next childwindow EndMacro Macro PrevWindow(MDI) SetGadgetState(MDI,#PB_MDI_Previous) ; Give focus To the previous childwindow EndMacro Macro Arrange(MDI) SetGadgetState(MDI,#PB_MDI_Arrange) ; Arrange the iconic (minimized) windows EndMacro ;} ;- SetWindowState ;{ and other common API thingies Macro RestoreWindow(WID) SetWindowState(WID,#PB_Window_Normal) EndMacro Macro MaximizeWindow(WID) SetWindowState(WID,#PB_Window_Maximize) EndMacro Macro MinimizeWindow(WID) SetWindowState(WID,#PB_Window_Minimize) EndMacro Macro RePaint(hWin) RedrawWindow_(hWin,0,0,#RDW_INTERNALPAINT ) EndMacro Macro SetWindowIconFN(WID,IconFN) SendMessage_(WindowID(WID), #WM_SETICON, 0, LoadImage_(GetModuleHandle_(0),IconFN,#IMAGE_ICON,16,16,#LR_LOADFROMFILE)) EndMacro Macro SetCursorWait() SetCursor_(LoadCursor_(0,#IDC_WAIT )) EndMacro Macro SetCursorNormal() SetCursor_(LoadCursor_(0,#IDC_ARROW )) EndMacro ;} ;- List Icon Gadget ;{ Macro GetColumnWidth(GID,COL) GetGadgetItemAttribute(GID,-1,#PB_ListIcon_ColumnWidth,COL) EndMacro Macro SetColumnWidth(GID,COL,Width) SetGadgetItemAttribute(GID,-1,#PB_ListIcon_ColumnWidth,Width,COL) EndMacro Procedure.l GetGadgetSelColumn(WID.l,GID.l,POS.l,MAX.l=5) x.l=WindowMouseX(WID) -GadgetX(GID) For C=0 To MAX Cw.l=GetGadgetItemAttribute(GID,POS,#PB_ListIcon_ColumnWidth ,C) x - Cw If X<0 ProcedureReturn C EndIf Next C ProcedureReturn -1 EndProcedure ;} ;- Panel Gadget ;{ Macro GetPanelWidth(ID) GetGadgetAttribute(ID,#PB_Panel_ItemWidth) EndMacro Macro GetPanelHeight(ID) GetGadgetAttribute(ID,#PB_Panel_ItemHeight) EndMacro Macro GetPanelTabHeight(ID) GetGadgetAttribute(ID,#PB_Panel_TabHeight) EndMacro ;} ;- TreeGadget ;{ Macro GetGadgetItemSubLevel(GID,ITEM) GetGadgetItemAttribute(GID,ITEM,#PB_Tree_SubLevel) EndMacro Macro SetGadgetItemSubLevel(GID,ITEM,SUB) SetGadgetItemAttribute(GID,ITEM,#PB_Tree_SubLevel,SUB) EndMacro ;} ;- Scroller Area Gadget ;{ Macro GetScrollWidth(ID) GetGadgetAttribute(ID,#PB_ScrollArea_InnerWidth) EndMacro Macro GetScrollHeight(ID) GetGadgetAttribute(ID,#PB_ScrollArea_InnerHeight) EndMacro Macro GetScrollX(ID) GetGadgetAttribute(ID,#PB_ScrollArea_X) EndMacro Macro GetScrollY(ID) GetGadgetAttribute(ID,#PB_ScrollArea_Y) EndMacro Macro SetScrollWidth(ID,V) SetGadgetAttribute(ID,#PB_ScrollArea_InnerWidth,V) EndMacro Macro SetScrollHeight(ID,V) SetGadgetAttribute(ID,#PB_ScrollArea_InnerHeight,V) EndMacro Macro SetScrollSize(ID,W,H) SetScrollWidth(ID,W) : SetScrollHeight(ID,H) EndMacro Macro SetScrollX(ID,V) SetGadgetAttribute(ID,#PB_ScrollArea_X,V) EndMacro Macro SetScrollY(ID,V) SetGadgetAttribute(ID,#PB_ScrollArea_Y,V) EndMacro Macro SetScrollPos(ID,X,Y) SetScrollX(ID,X) : SetScrollY(ID,Y) EndMacro ;} ;- ScrollBar Gadget ;{ Returns the minimum scroll position. Macro GetScrollBarMin(ID) GetGadgetAttribute(ID,#PB_ScrollBar_Minimum) EndMacro ;Returns the maximum scroll position. Macro GetScrollBarMax(ID) GetGadgetAttribute(ID,#PB_ScrollBar_Maximum) EndMacro ; Returns the PageLength value. Macro GetScrollBarPage(ID) GetGadgetAttribute(ID,#PB_ScrollBar_PageLength) EndMacro ;sets the minimum scroll position. Macro SetScrollBarMin(ID,V) SetGadgetAttribute(ID,#PB_ScrollBar_Minimum,V) EndMacro ;Sets the maximum scroll position. Macro SetScrollBarMax(ID,V) SetGadgetAttribute(ID,#PB_ScrollBar_Maximum,V) EndMacro ; Sets the PageLength value. Macro SetScrollBarPage(ID,V) SetGadgetAttribute(ID,#PB_ScrollBar_PageLength,V) EndMacro ;} ;- ProgressBar ;{ Macro SetProgressBarMin(ID,V) SetGadgetAttribute(ID,#PB_ProgressBar_Minimum,V) EndMacro Macro SetProgressBarMax(ID,V) SetGadgetAttribute(ID,#PB_ProgressBar_Maximum,V) EndMacro Macro GetProgressBarMin( ID ) GetGadgetAttribute(ID,#PB_ProgressBar_Minimum) EndMacro Macro GetProgressBarMax( ID ) GetGadgetAttribute(ID,#PB_ProgressBar_Maximum) EndMacro ;} ;- Spin ;{ Macro SetSpinMin(ID,V) SetGadgetAttribute(ID,#PB_Spin_Minimum,V) EndMacro Macro SetSpinMax(ID,V) SetGadgetAttribute(ID,#PB_Spin_Maximum,V) EndMacro Macro GetSpinMin(ID) GetGadgetAttribute(ID,#PB_Spin_Minimum) EndMacro Macro GetSpinMax(ID) GetGadgetAttribute(ID,#PB_Spin_Maximum) EndMacro ;} ;- Web ;{ Get the html code from the gadget. Macro GetWebHTML(ID) GetGadgetItemText(ID,#PB_Web_HtmlCode) EndMacro ;Get the current title For the displayed page. Macro GetWebTitle(ID) GetGadgetItemText(ID,#PB_Web_PageTitle) EndMacro ;Get the current statusbar message. Macro GetWebStatus(ID) GetGadgetItemText(ID,#PB_Web_StatusMessage ) EndMacro ;Get the currently selected text inside the gadget. Macro GetWebText(ID) GetGadgetItemText(ID,#PB_Web_SelectedText) EndMacro ;copy selected web text to clipboard Macro Web_Copy(ID) SetClipboardText( GetGadgetItemText(ID,#PB_Web_SelectedText )) EndMacro ;select all text in web gadget (maybe?) Macro Web_SelAll(ID) SetGadgetItemText(ID,#PB_Web_SelectedText ,"") EndMacro ;Get the horizontal scrolling position Macro GetWebScrollX(ID) GetGadgetAttribute(ID,#PB_Web_ScrollX) EndMacro Macro GetWebScrollY(ID) GetGadgetAttribute(ID,#PB_Web_ScrollY) EndMacro ;Returns nonzero If the gadget is busy loading a page. Macro GetWebBusy(ID) GetGadgetAttribute(ID,#PB_Web_Busy) EndMacro ;Returns the current (sometimes estimated) progress after a #PB_EventType_DownloadProgress event. Macro GetWebProgress(ID) GetGadgetAttribute(ID,#PB_Web_Progress) EndMacro ;Returns the current (sometimes estimated) maximum progress after a #PB_EventType_DownloadProgress event. Macro GetWebProgressMax(ID) GetGadgetAttribute(ID,#PB_Web_ProgressMax) EndMacro ;Get the current popupwindow blocking setting. Macro GetWebBlockPopups(ID) GetGadgetAttribute(ID,#PB_Web_BlockPopups) EndMacro ;Get the current popupmenu blocking setting. Macro GetWebBlockPopupMenu(ID) GetGadgetAttribute(ID,#PB_Web_BlockPopupMenu) EndMacro ;Get the current navigation callback (If any). Macro GetWebCallback(ID) GetGadgetAttribute(ID,#PB_Web_NavigationCallback) EndMacro Macro SetWebScrollX(ID,V) SetGadgetAttribute(ID,#PB_Web_ScrollX,V) EndMacro Macro SetWebScrollY(ID,V) SetGadgetAttribute(ID,#PB_Web_ScrollY,V) EndMacro Macro SetWebScroll(ID,X,Y) SetWebScrollX(ID,X) : SetWebScrollY(ID,Y) EndMacro Macro SetWebBlockPopups(ID,V) SetGadgetAttribute(ID,#PB_Web_BlockPopups,V) EndMacro Macro SetWebBlockPopupMenu(ID,V) SetGadgetAttribute(ID,#PB_Web_BlockPopupMenu,V) EndMacro Macro SetWebBlocking(ID,Pop,Menu) SetWebBlockPopups(ID,Pop) : SetWebBlockPopupMenu(ID,Menu) EndMacro Macro SetWebCallback(ID,Callback) SetGadgetAttribute(ID,#PB_Web_NavigationCallback,Callback) EndMacro Macro WebBack(ID) SetGadgetState(ID, #PB_Web_Back) EndMacro Macro WebNext(ID) SetGadgetState(ID, #PB_Web_Forward) EndMacro Macro SetWebURL(ID,URL) SetGadgetText(ID,URL) EndMacro Macro SetWebHTML(ID,HTML) SetGadgetItemText(ID,#PB_Web_HtmlCode,HTML) EndMacro ;} ;- ToolBar ;{ Create Standard Buttons ;#PB_ToolBar_Toggle is the other mode Macro ToolBarNewButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_New ,Mode) EndMacro Macro ToolBarOpenButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Open ,Mode) EndMacro Macro ToolBarSaveButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Save ,Mode) EndMacro Macro ToolBarPrintButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Print ,Mode) EndMacro Macro ToolBarPrintReviewButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_PrintReview ,Mode) EndMacro Macro ToolBarFindButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Find ,Mode) EndMacro Macro ToolBarReplaceButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Replace ,Mode) EndMacro Macro ToolBarCutButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Cut ,Mode) EndMacro Macro ToolBarCopyButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Copy ,Mode) EndMacro Macro ToolBarPasteButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Paste ,Mode) EndMacro Macro ToolBarUndoButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Undo ,Mode) EndMacro Macro ToolBarRedoButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Redo ,Mode) EndMacro Macro ToolBarDeleteButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Delete ,Mode) EndMacro Macro ToolBarPropertiesButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Properties ,Mode) EndMacro Macro ToolBarHelpButton(ID , Mode = #PB_ToolBar_Normal ) ToolBarStandardButton(ID, #PB_ToolBarIcon_Help ,Mode) EndMacro ;} ;- StatusBar ;{ Macro GetStatusBarText( ID , Buffer ) Buffer = Space(255) GetWindowText_(StatusBarID( ID ) , @#Buffer , 200 ) Buffer = Trim( Buffer ) EndMacro ;} ;- ButtonImage ;{ Speacial macros for using a ButtonImage Gadget ;as a regular toggled button .... Macro SetState(ID,State) SendMessage_(GadgetID(ID),#BM_SETSTATE,state,0) EndMacro Macro GetState(ID) SendMessage_(GadgetID(ID),#BM_GETSTATE,0,0) EndMacro ;}