state.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 760 行 · 第 1/2 页
C
760 行
{
return( State->gridhinc );
}
void WINEXP SetHorizontalInc( unsigned inc )
/******************************************/
/* set the vertical grid increment value */
{
State->gridhinc = inc;
}
extern void SetObjects( void * objs )
/***********************************/
/* save a pointer to the object table */
{
State->objects = objs;
}
extern void * GetObjects( void )
/******************************/
/* get the object table pointer */
{
return( State->objects );
}
extern void SaveObject( void )
/****************************/
/* remember the previous object */
{
CURROBJPTR currobj;
currobj = GetECurrObject();
if( currobj != NULL ) {
State->prevobject = GetObjptr( currobj );
}
}
extern void RestorePrevObject( void )
/***********************************/
/* reset the currobject from the previous object */
{
AddCurrObject( State->prevobject );
}
extern OBJPTR GetCurrObj( void )
/******************************/
/* get the current object */
{
if( State == NULL ) {
return( NULL );
} else {
return( State->currobj );
}
}
extern void WINEXP GetOffset( POINT * point )
/*******************************************/
/* return the offset point */
{
*point = State->offset;
}
extern void SetOffset( POINT point )
/**********************************/
/* set the offset point */
{
State->offset = point;
}
extern RECT GetScrollRect( void )
/*******************************/
/* return the scroll rect */
{
return( State->scrollrect );
}
extern void SetScrollRect( RECT rect )
/************************************/
/* set the scroll rect */
{
State->scrollrect = rect;
}
extern void SetScrollConfig( SCR_CONFIG flag )
/********************************************/
/* Set the scroll configuration */
{
State->scrollconfig = flag;
}
extern SCR_CONFIG GetScrollConfig( void )
/***************************************/
/* Get the scroll configuration */
{
return( State->scrollconfig );
}
extern OBJPTR GetSelectEatom( void )
/**********************************/
/* return the banded select eatom */
{
return( State->selecteatom );
}
extern void SetSelectEatom( OBJPTR eatom )
/****************************************/
/* set the banded select eatom */
{
State->selecteatom = eatom;
}
extern void SetShowEatoms( BOOL show )
/************************************/
{
State->show_eatoms = show;
} /* SetShowEatoms */
extern BOOL GetShowEatoms( void )
/*******************************/
{
return( State->show_eatoms );
} /* GetShowEatoms */
int WINEXP FMTranslateAccelerator( HWND wnd, LPMSG message )
/**********************************************************/
{
int ret;
int i;
if( !InitState( wnd ) ) {
return( FALSE );
}
ret = FALSE;
if( State->currstate == EDITING ) {
return( ret );
}
for( i=0; ( ( i < ACCELS ) && ( ret == FALSE ) ); i++ ) {
if( State->hAccel[i] != NULL ) {
ret |= TranslateAccelerator( wnd, State->hAccel[i], message );
}
}
return( ret );
}
extern void LoadAccel( int bitmap )
/****************************************/
{
if( bitmap & MENU_DELETE ) {
State->hAccel[1] = LoadAccelerators( GetInst(), "DeleteAccelTable" );
}
if( bitmap & MENU_COPY ) {
State->hAccel[2] = LoadAccelerators( GetInst(), "CopyAccelTable" );
}
if( bitmap & MENU_PASTE ) {
State->hAccel[3] = LoadAccelerators( GetInst(), "PasteAccelTable" );
}
if( bitmap & MENU_CUT ) {
State->hAccel[4] = LoadAccelerators( GetInst(), "CutAccelTable" );
}
}
extern BOOL GetShift( void )
/**************************/
{
return( State->keystate & MK_SHIFT );
}
extern BOOL GetControl( void )
/****************************/
{
return( State->keystate & MK_CONTROL );
}
extern void SetKeyState( WORD keystate )
/**************************************/
{
State->keystate = keystate;
}
void WINEXP DisplayError( char * msg )
/************************************/
/* report an error message */
{
if( msg != NULL ) {
if( ShowError() ) {
MessageBox( GetAppWnd(), (LPSTR) msg, NULL,
MB_ICONEXCLAMATION | MB_OK );
} else {
State->error = EdAlloc( strlen( msg ) + 1 );
strcpy( State->error, msg );
}
}
}
extern void ReportPending( void )
/*******************************/
{
if( ShowError() && ( State->error != NULL ) ) {
MessageBox( GetAppWnd(), (LPSTR) State->error, NULL,
MB_ICONEXCLAMATION | MB_OK );
EdFree( State->error );
State->error = NULL;
}
}
void WINEXP ClearError( void )
/****************************/
{
if( State->error != NULL ) {
EdFree( State->error );
State->error = NULL;
}
}
extern BOOL ShowError( void )
/***************************/
{
return( State->showerror );
}
void WINEXP SetShowError( BOOL show )
/***********************************/
{
State->showerror = show;
}
BOOL WINEXP IsEditting( HWND wnd )
/********************************/
{
InitState( wnd );
return( State->currstate == EDITING );
}
void WINEXP SetMouseRtn( HWND wnd, void (FM_EXPORT *rtn)( HWND, RECT *) )
/**********************************************/
{
InitState( wnd );
State->mouseaction = rtn;
}
extern void MouseAction( RECT * r )
/*********************************/
{
RECT safe;
if( State->mouseaction != NULL ) {
safe = *r;
State->mouseaction( State->appwnd, &safe );
}
}
extern void SetResizeGrid( unsigned horz, unsigned vert )
/*******************************************************/
{
State->hresizegrid = horz;
State->vresizegrid = vert;
}
extern unsigned GetResizeHInc( void )
/***********************************/
{
return( State->hresizegrid );
}
extern unsigned GetResizeVInc( void )
/***********************************/
{
return( State->vresizegrid );
}
BOOL WINEXP InitStateFormID( STATE_HDL st )
/*****************************************/
{
STATE * s;
for( s = StateList; s != NULL; s = s->next ) {
if( s->id == st ) {
break;
}
}
State = s;
return( State != NULL );
}
STATE_HDL WINEXP GetCurrFormID( void )
/************************************/
{
if( State != NULL ) {
return( State->id );
}
return( 0 );
}
void WINEXP HideSelectBoxes( void )
/*********************************/
{
OBJECT * currobj;
BOOL show;
currobj = GetCurrObj();
show = FALSE;
(*currobj)( SHOW_SEL_BOXES, currobj, &show, NULL );
} /* HideSelectBoxes */
void WINEXP ShowSelectBoxes( void )
/*********************************/
{
OBJECT * currobj;
BOOL show;
currobj = GetCurrObj();
show = TRUE;
(*currobj)( SHOW_SEL_BOXES, currobj, &show, NULL );
} /* ShowSelectBoxes */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?