diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2024-07-03 10:19:49 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2024-07-03 10:19:49 +0200 |
commit | 8dc8048d2cd4996825470bbfcb1e09e2a2630035 (patch) | |
tree | 9804282102f8c40d27407b9c94119b35eeb5013c /app/bin/command.h | |
parent | c9d0740841fbe0539e42e66d3865672bfcd3ac02 (diff) | |
parent | b6bd52cd7330a90fc0e44dbe6022551a8dd768a1 (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'app/bin/command.h')
-rw-r--r-- | app/bin/command.h | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/app/bin/command.h b/app/bin/command.h new file mode 100644 index 0000000..073e412 --- /dev/null +++ b/app/bin/command.h @@ -0,0 +1,150 @@ +/** \file command.h + * Application wide declarations and defines + */ + +/* XTrkCad - Model Railroad CAD + * Copyright (C) 2005 Dave Bullis + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef COMMAND_H +#define COMMAND_H + +#include "common.h" + +#define IC_STICKY (1<<0) +#define IC_INITNOTSTICKY (1<<1) +#define IC_CANCEL (1<<2) +#define IC_MENU (1<<3) +#define IC_NORESTART (1<<4) +#define IC_SELECTED (1<<5) +#define IC_POPUP (1<<6) +#define IC_LCLICK (1<<7) +#define IC_RCLICK (1<<8) +#define IC_CMDMENU (1<<9) +#define IC_POPUP2 (1<<10) +#define IC_ABUT (1<<11) +#define IC_ACCLKEY (1<<12) +#define IC_MODETRAIN_TOO (1<<13) +#define IC_MODETRAIN_ONLY (1<<14) +#define IC_WANT_MOVE (1<<15) +#define IC_PLAYBACK_PUSH (1<<16) +#define IC_WANT_MODKEYS (1<<17) +#define IC_POPUP3 (1<<18) + + +/* + * Command Action + */ +#define C_DOWN wActionLDown +#define C_MOVE wActionLDrag +#define C_UP wActionLUp +#define C_RDOWN wActionRDown +#define C_RMOVE wActionRDrag +#define C_RUP wActionRUp +#define C_TEXT wActionText +#define C_WUP wActionWheelUp +#define C_WDOWN wActionWheelDown +#define C_LDOUBLE wActionLDownDouble +#define C_MODKEY wActionModKey +#define C_SCROLLUP wActionScrollUp +#define C_SCROLLDOWN wActionScrollDown +#define C_SCROLLLEFT wActionScrollLeft +#define C_SCROLLRIGHT wActionScrollRight +#define C_MDOWN wActionMDown +#define C_MMOVE wActionMDrag +#define C_MUP wActionMUp +#define C_INIT (wActionLast+1) +#define C_START (wActionLast+2) +#define C_REDRAW (wActionLast+3) +#define C_CANCEL (wActionLast+4) +#define C_OK (wActionLast+5) +#define C_CONFIRM (wActionLast+6) +#define C_LCLICK (wActionLast+7) +#define C_RCLICK (wActionLast+8) +#define C_CMDMENU (wActionLast+9) +#define C_FINISH (wActionLast+10) +#define C_UPDATE (wActionLast+11) + +#define C_CONTINUE (100) +#define C_TERMINATE (101) +#define C_INFO (102) +#define C_ERROR (103) + +/* + * Command Levels - obsolete + */ +#define LEVEL0 (0) +#define LEVEL0_50 (1) +#define LEVEL1 (2) +#define LEVEL2 (3) + +/* + * Command groups + */ +#define BG_SELECT (0) +#define BG_ZOOM (1) +#define BG_UNDO (2) +#define BG_EASE (3) +#define BG_TRKCRT (4) +#define BG_TRKMOD (5) +#define BG_TRKGRP (6) +#define BG_MISCCRT (7) +#define BG_RULER (8) +#define BG_LAYER (9) +#define BG_HOTBAR (10) +#define BG_SNAP (11) +#define BG_TRAIN (12) +#define BG_COUNT (13) +#define BG_FILE (14) +#define BG_CONTROL (15) +#define BG_EXPORTIMPORT (16) +#define BG_PRINT (17) +#define BG_BIGGAP (1<<8) +extern int cmdGroup; + + +extern int buttonCnt; +extern int commandCnt; +extern int cmdGroup; +extern long toolbarSet; +extern wWinPix_t toolbarHeight; +extern long preSelect; +extern long rightClickMode; +extern void * commandContext; +extern coOrd cmdMenuPos; + +const char * GetCurCommandName( void ); +void EnableCommands( void ); +wIndex_t GetCurrentCommand(void); +void Reset( void ); +wBool_t DoCurCommand( wAction_t, coOrd ); +int ConfirmReset( BOOL_T ); +void DoCommandB( void * ); +void LayoutToolBar( void * ); +BOOL_T CommandEnabled( wIndex_t ); +#define NUM_CMDMENUS (4) +wIndex_t AddCommand(procCommand_t cmdProc, const char * helpKey, + const char * nameStr, wIcon_p icon, int reqLevel, long options, long acclKey, + wIndex_t buttInx, long stickyMask, wMenuPush_p cmdMenus[NUM_CMDMENUS], + void * context); +void AddToolbarControl( wControl_p, long ); +void PlaybackButtonMouse( wIndex_t ); +void PlaybackCommand( const char *, wIndex_t ); +BOOL_T IsCurCommandSticky(void); +void ResetIfNotSticky( void ); +void CommandInit( void ); +#endif |