aui.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 618 行 · 第 1/2 页

H
618
字号
typedef int             GUIPICKER( char *, PICKCALLBACK * );
extern int              DlgPickWithRtn( char *text, void *from, int def, DLGPICKTEXT *rtn, unsigned );
extern int              DlgPickWithRtn2( char *text, void *from, int def, DLGPICKTEXT *rtn, unsigned, GUIPICKER * );
extern int              DlgPick( char *text, char **from, int def, unsigned num );
extern bool             DlgNew( char *text, char *buff, int buff_len );
extern void             DlgOpen( char *, int, int, gui_control_info *, int, GUICALLBACK *, void * );
extern void             ResDlgOpen( GUICALLBACK *, void *, int );
extern int              DlgGetFileName( open_file_name *ofn );
extern bool             DlgFileBrowse( char *title, char *filter, char *path,
                                       unsigned len, unsigned long flags );

extern a_window         **WndFindOwner( a_window * );
extern a_window         *WndFirst( void );

extern gui_ord          WndExtentX( a_window *, char * );

extern void             WndFreshAll( void );
extern bool             WndStopRefresh( bool );

extern void             WndNoMemory( void );
extern void             WndMemInit( void );
extern void             WndMemFini( void );
extern void             *WndAlloc( unsigned int );
extern void             *WndRealloc( void *, unsigned int );
extern void             WndFree( void * );
extern void             *WndMustAlloc( unsigned int );
extern void             *WndMustRealloc( void *, unsigned int );
extern void             WndCreateFloatingPopup( a_window *, gui_point *, char,
                                               gui_menu_struct *, int * );

extern void             WndFixedThumb( a_window * );
extern void             WndSetThumbPos( a_window *, int );
extern void             WndSetThumbPercent( a_window *, int );
extern void             WndSetThumb( a_window * );
extern WNDSCROLL        WndScroll;
extern WNDSCROLL        WndScrollAbs;


extern wnd_row          WndCurrRow( a_window * );
extern bool             WndHasCurrent( a_window * );
extern void             WndNewCurrent( a_window *, wnd_row, int );
extern void             WndMoveCurrent( a_window *wnd, wnd_row row, int piece );
extern void             WndGetCurrent( a_window *, wnd_row *, int *);
extern void             WndNoCurrent( a_window * );
extern bool             WndFirstCurrent( a_window * );
extern bool             WndLastCurrent( a_window * );

extern void             WndNoSelect( a_window * );

extern void             WndCleanUp( void );
extern a_window         *WndFindActive( void );

extern void             WndDestroy( a_window * );
extern void             WndClose( a_window * );
extern void             WndRestoreToFront( a_window * );
extern void             WndToFront( a_window * );   // won't restore an icon!

extern void             WndCurrToGUIPoint( a_window *wnd, gui_point *point );

extern WNDCREATE        WndCreate;
extern void             WndInitCreateStruct( wnd_create_struct * );
extern a_window         *WndCreateWithStruct( wnd_create_struct * );
extern a_window         *WndCreateWithStructAndMenuRes( wnd_create_struct *, int );
extern void             WndShrinkToMouse( a_window *wnd, wnd_metrics * );
extern bool             WndInit( char * );
extern bool             WndInitWithMenuRes( char *, int );
extern bool             WndFini( void );
extern bool             WndMainMenuProc( a_window *, unsigned );
extern void             WndSetSrchItem( a_window *wnd, char *expr );
extern bool             WndSearch( a_window *, bool, int );
extern void             WndInitNumRows( a_window * );
extern void             WndRXError( int );

extern void             WndFreshAll( void );
extern a_window         *WndNext( a_window * );

extern WNDCALLBACK      NoEventProc;
extern WNDREFRESH       NoRefresh;
extern WNDGETLINE       NoGetLine;
extern WNDMENU          NoMenuItem;
extern WNDMODIFY        NoModify;
extern WNDMODIFY        WndFirstMenuItem;
extern WNDSCROLL        NoScroll;
extern WNDBEGPAINT      NoBegPaint;
extern WNDENDPAINT      NoEndPaint;
extern WNDNOTIFY        NoNotify;
extern WNDNUMROWS       NoNumRows;
extern WNDNEXTROW       NoNextRow;

extern WNDCALLBACK      WndEvent;
extern WNDREFRESH       WndRefresh;
extern WNDGETLINE       WndGetLine;
extern WNDGETLINE       WndGetLineAbs;
extern WNDMENU          WndMenuItem;
extern WNDMODIFY        WndModify;
extern WNDSCROLL        WndScroll;
extern WNDBEGPAINT      WndBegPaint;
extern WNDENDPAINT      WndEndPaint;
extern WNDNOTIFY        WndNotify;
extern WNDNUMROWS       WndNumRows;
extern WNDNEXTROW       WndNextRow;
extern bool             WndHasNumRows( a_window * );

extern wnd_switches     WndSwitches;
extern a_window         *Windows;
extern gui_coord        WndMax;
extern gui_coord        WndScreen;
extern wnd_update_list  WndFlags;
extern bool             WndOkToShow;
extern bool             WndIgnoreAllEvents;

extern bool             WndProcMacro( a_window *wnd, unsigned key );

extern  void            WndSetTitle( a_window *, char * );
extern  int             WndGetTitle( a_window *wnd, char *data, int max_length );

extern void             Ring( void );

extern void             WndSysInit( void );
extern void             WndDoInput( void );
extern void             WndStartFreshAll( void );
extern void             WndEndFreshAll( void );
extern void             WndZapped( a_window * );

extern a_window         *WndFindClass( a_window *, wnd_class );
extern void             WndForAllClass( wnd_class class, void (*rtn)( a_window * ) );

extern int              SpawnP( void (*func)( void * ), void *parm );
extern int              Spawn( void (*func)( void ) );
extern void             Suicide( void );

#define WND_ALNUM_CHAR  '@'
#define WND_ALNUM_STR   "@"
extern  char            *WndSetIDChars( a_window *, char * );

extern  bool            WndIDChar( a_window *, char ch );
extern  bool            WndKeyChar( char ch );

extern void             WndCursorRight( a_window *wnd );
extern void             WndCursorLeft( a_window *wnd );
extern bool             WndTabLeft( a_window *wnd, bool wrap );
extern bool             WndTabRight( a_window *wnd, bool wrap );

extern void             WndCursorStart( a_window *wnd );
extern void             WndCursorEnd( a_window *wnd );

extern gui_ord          WndVScrollWidth( a_window *wnd );
extern void             WndResetScroll( a_window *wnd );
extern void             WndPageDown( a_window *wnd );
extern void             WndPageUp( a_window *wnd );
extern void             WndCursorDown( a_window *wnd );
extern void             WndScrollDown( a_window *wnd );
extern void             WndScrollTop( a_window *wnd );
extern void             WndScrollBottom( a_window *wnd );
extern void             WndCursorUp( a_window *wnd );
extern void             WndScrollUp( a_window *wnd );
extern void             WndSetVScrollRange( a_window *wnd, wnd_row rows );
extern void             WndChooseNew( void );
extern void             WndKeyPopUp( a_window *, gui_menu_struct * );
extern void             WndPopUp( a_window *, gui_menu_struct * );
extern void             WndMenuIgnoreAll( a_window *wnd );
extern void             WndMenuRespectAll( a_window *wnd );
extern void             WndMenuEnableAll( a_window *wnd );
extern void             WndMenuGrayAll( a_window *wnd );
extern void             WndMenuIgnore( a_window *wnd, int id, bool ignore );
extern void             WndMenuEnable( a_window *wnd, int id, bool enable );
extern void             WndMenuCheck( a_window *wnd, int id, bool check );
extern void             WndCheckMainMenu( int id, bool check );
extern void             WndEnableMainMenu( int id, bool enable );
//extern void           WndSetHintText( a_window *wnd, int id, char *text );

extern  void            WndPieceDirty( a_window *wnd, wnd_row row, int piece );
extern void             WndRowDirty( a_window *wnd, wnd_row row );
extern void             WndRowDirtyImmed( a_window *wnd, wnd_row row );
extern void             WndDirty( a_window * );
extern void             WndDirtyCurr( a_window * );
extern void             WndSetColours( a_window *, int, gui_colour_set *);
extern void             WndBackGround( gui_colour colour );
extern void             WndDirtyRect( a_window *wnd, gui_ord x, wnd_row y,
                                      gui_ord width, wnd_row height );

extern void             WndReDrawAll( void );
extern void             WndSetIcon( a_window *, gui_resource *);
extern void             WndSetMainMenuText( gui_menu_struct * );
extern void             WndShowAll( void );
extern void             WndShowWndMain( void );
extern void             WndInitWndMain( wnd_create_struct *);
extern void             WndShowWindow( a_window *wnd );
extern void             WndResizeWindow( a_window *wnd, gui_rect * );
extern void             WndMinimizeWindow( a_window *wnd );
extern void             WndMaximizeWindow( a_window *wnd );
extern bool             WndIsMinimized( a_window *wnd );
extern bool             WndIsMaximized( a_window *wnd );
extern void             WndRestoreWindow( a_window *wnd );
extern void             WndGetRect( a_window *wnd, gui_rect *rect );

extern void             WndStartChoose( a_window *wnd );

extern void             WndCreateToolBar( gui_ord, bool, int, gui_toolbar_struct * );
extern bool             WndHaveToolBar( void );
extern void             WndCloseToolBar( void );
extern gui_ord          WndToolHeight( void );
extern bool             WndToolFixed( void );

extern void             *WndHourGlass( void * );
extern void             *WndHourCursor( void );
extern void             *WndArrowCursor( void );

extern void             WndCreateStatusWindow( gui_colour_set * );
extern bool             WndStatusText( char * );
extern bool             WndHaveStatusWindow( void );
extern void             WndCloseStatusWindow( void );

extern void             WndMainResized( void );
extern bool             WndShutDownHook( void );
extern bool             WndQueryEndSessionHook( void );
extern void             WndEndSessionHook( void );
extern void             WndResizeHook( a_window * );
extern void             WndFontHook( a_window * );

extern void             WndSetTitleSize( a_window *, int );
extern void             WndForcePaint( a_window *wnd );

extern bool             WndDoingSearch;

extern bool             WndDisplayHelp( char *file, char *topic );

extern bool             WndSetFontInfo( a_window *,char* );
extern bool             WndSetSysFont( a_window *, bool fixed );
extern char             *WndGetFontInfo( a_window * );

extern void             *WndInitHistory( void );
extern void             WndFiniHistory( void * );
extern bool             WndNextFromHistory( save_area *save, char *cmd );
extern bool             WndPrevFromHistory( save_area *save, char *cmd );
extern void             WndSaveToHistory( save_area *save, char *cmd );

extern void             WndSetDClick( int );
extern int              WndGetDClick( void );

extern char             *WndLoadString( int );
extern void             NullPopupMenu( gui_menu_struct *menu );

extern void             WndChangeMenuAll( gui_menu_struct *menu, int num_popups, bool on, int bit );
extern gui_message_return WndDisplayMessage( char *msg, char *cap,
                                             gui_message_type type );

extern void     WndRectToPos( gui_rect *rect, wnd_posn *posn, gui_coord *scale );
extern void     WndPosToRect( wnd_posn *posn, gui_rect *rect, gui_coord *scale );
typedef bool (WNDCLICKHOOK)( a_window *wnd, unsigned id );
extern void WndInstallClickHook( WNDCLICKHOOK *rtn );

extern void     WndForceRefresh( void );
extern void     WndSetWndMainSize( wnd_create_struct *info );

typedef int wnd_gadget_type;
#define WND_GADGET_NONE ((wnd_gadget_type)-1)
extern void             WndGadgetInit( void );
extern void             WndSetGadgetLine( a_window *wnd, wnd_line_piece *line, wnd_gadget_type type, unsigned length );
extern void             WndGetGadgetSize( wnd_gadget_type type, gui_coord * );
extern wnd_gadget_type  WndGadgetSecondary;
extern char             *WndGadgetHint[];
extern gui_resource     WndGadgetArray[];
extern int              WndGadgetArraySize;
extern wnd_attr         WndGadgetAttr;

extern wnd_info         NoInfo;

extern wnd_attr         WndPlainAttr;
extern wnd_attr         WndTabStopAttr;
extern wnd_attr         WndSelectedAttr;
extern wnd_attr         WndCursorAttr;
extern wnd_attr         WndMapTabAttr( wnd_attr );
extern int              WndMaxDirtyRects;
extern gui_window_styles        WndStyle;
extern char             WndBackgroundChar;

#define ArraySize( x ) ( sizeof( x ) / sizeof( (x)[0] ) )
#define WndSetPopUpMenu( wnd, x, num ) { \
    __WND_FIELD( wnd, num_popups ) = num; \
    __WND_FIELD( wnd, popupmenu ) = x; }
#define DefPopUp( x ) ArraySize( x ), x
#define NoPopUp       0, NULL

#define WndMenuSize( x ) ArraySize( x )
#define WndMenuFields( x ) WndMenuSize( x ), x
extern  void    WndSetMainMenu( gui_menu_struct *menu, int num_menus );

// debugging stuff

#ifndef OLD_GUI
#define Say( x ) \
        WndDisplayMessage( (char*)(x), "Information", GUI_INFORMATION ); \

#define Say2( y, x ) \
        WndDisplayMessage( (char*)(x), (char*)y, GUI_INFORMATION );
#else
#define Say( x ) \
        GUIDisplayMessage( (char*)(x), "Information", GUI_INFORMATION ); \

#define Say2( y, x ) \
        GUIDisplayMessage( (char*)(x), (char*)y, GUI_INFORMATION );
#endif

#define GUI_IS_ASCII( x ) ( (x) < 256 )


#endif // _AUI_H_INCLUDED

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?