summaryrefslogtreecommitdiff
path: root/app/bin/command.h
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2024-07-03 10:19:49 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2024-07-03 10:19:49 +0200
commit8dc8048d2cd4996825470bbfcb1e09e2a2630035 (patch)
tree9804282102f8c40d27407b9c94119b35eeb5013c /app/bin/command.h
parentc9d0740841fbe0539e42e66d3865672bfcd3ac02 (diff)
parentb6bd52cd7330a90fc0e44dbe6022551a8dd768a1 (diff)
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'app/bin/command.h')
-rw-r--r--app/bin/command.h150
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