1/* 2 * Author: Daniel Ratton Figueiredo <ratton@land.ufrj.br> 3 * Author: William Chia-Wei Cheng (bill.cheng@acm.org) 4 * 5 * Copyright (C) 2001-2009, William Chia-Wei Cheng. 6 * 7 * This file may be distributed under the terms of the Q Public License 8 * as defined by Trolltech AS of Norway and appearing in the file 9 * LICENSE.QPL included in the packaging of this file. 10 * 11 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING 12 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 13 * PURPOSE. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, 14 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING 15 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 16 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 17 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 * 19 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/tangram2.e,v 1.9 2011/05/16 16:21:59 william Exp $ 20 */ 21 22#ifndef _TGIF_TANGRAM2_E_ 23#define _TGIF_TANGRAM2_E_ 24 25#define CMDID_TANGRAM2_BASE 0x4000 26 27#define CMDID_ABOUT_TANGRAM2 (CMDID_TANGRAM2_BASE+0) 28#define CMDID_TANGRAM2_GENERATE_CHAIN (CMDID_TANGRAM2_BASE+1) 29#define CMDID_TANGRAM2_START_SIMULATOR (CMDID_TANGRAM2_BASE+2) 30#define CMDID_TANGRAM2_SIMULATION_STEP (CMDID_TANGRAM2_BASE+3) 31#define CMDID_TANGRAM2_END_SIMULATOR (CMDID_TANGRAM2_BASE+4) 32 33#define MAXTANGRAM2CMDIDS (CMDID_ABOUT_TANGRAM2+5) 34 35extern char cmdLineGenParser[MAXSTRING]; 36 37extern TgMenuInfo tangram2MenuInfo; 38 39#ifdef _INCLUDE_FROM_TANGRAM2_C_ 40#undef extern 41#define extern 42#endif /*_INCLUDE_FROM_TANGRAM2_C_*/ 43 44/* ======================= Init & CleanUp ======================= */ 45 46extern void CleanUpTangram2 ARGS_DECL((void)); 47extern int InitTangram2 ARGS_DECL((void)); 48 49/* ======================= Tangram2 Shortcuts ======================= */ 50 51extern void CleanUpTangram2ShortCut ARGS_DECL((void)); 52extern int InitTangram2ShortCut ARGS_DECL((void)); 53 54extern int ValidTangram2CmdName ARGS_DECL((char *buf, int buf_sz, 55 int *pn_num_args)); 56extern int ValidTangram2CmdId ARGS_DECL((int nCmdId)); 57extern int DoTangram2Cmd ARGS_DECL((int nCmdId, char *args)); 58extern int FetchTangram2ShortCutNumArgs ARGS_DECL((int index, 59 int *pn_num_args)); 60extern int DoTangram2ShortCut ARGS_DECL((int index, char *args)); 61 62/* ======================= Tangram2 Internal Commands ======================= */ 63 64extern ExecInfo *Tangram2GetExecInfo ARGS_DECL((char *func_name)); 65 66/* ======================= Tangram2 Menu ======================= */ 67 68extern int RefreshTangram2Menu ARGS_DECL((TgMenu*)); 69extern TgMenu *CreateTangram2Menu ARGS_DECL((TgMenu*, int X, int Y, 70 TgMenuInfo*, 71 int status_str_xlated)); 72extern int Tangram2Menu ARGS_DECL((int X, int Y, int TrackMenubar)); 73 74/* ======================= Tangram2 Menu Functions ======================= */ 75 76extern void AboutTangram2 ARGS_DECL((void)); 77extern void Tangram2GenerateChain ARGS_DECL((char*)); 78extern void Tangram2StartSimulator ARGS_DECL((char*)); 79extern void Tangram2SimulationStep ARGS_DECL((void)); 80extern void Tangram2EndSimulator ARGS_DECL((void)); 81 82/* ======================= Tangram2 Misc Functions ======================= */ 83 84extern void Tangram2UpdateInitAttr ARGS_DECL((struct ObjRec *, char*)); 85 86#ifdef _INCLUDE_FROM_TANGRAM2_C_ 87#undef extern 88#ifndef _NO_RECURSIVE_EXTERN 89#define extern extern 90#endif /* ~_NO_RECURSIVE_EXTERN */ 91#endif /*_INCLUDE_FROM_TANGRAM2_C_*/ 92 93#endif /*_TGIF_TANGRAM2_E_*/ 94