123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- //
- //////////////////////////////////////////////////////////////////////////////
- //
- // Copyright 2015 Autodesk, Inc. All rights reserved.
- //
- // Use of this software is subject to the terms of the Autodesk license
- // agreement provided at the time of installation or download, or which
- // otherwise accompanies this software in either electronic or hard copy form.
- //
- //////////////////////////////////////////////////////////////////////////////
- //
- // DESCRIPTION:
- // Definitions for ADS Programmable Dialogue Boxes
- #ifndef _adsdlg_h
- #define _adsdlg_h 1
- #include "ads.h"
- #include "AdAChar.h"
- #pragma pack (push, 8)
- /* Defined only for OS/2 DLL Version
- */
- #ifndef CALLB
- #define CALLB
- #endif
- /* There is a clash between the alignment required within structures for
- ADS and that required for members within Zortech structs and classes.
- ADS requires byte alignment (-a1) while 32-bit Zortech requires 4-byte
- alignment (-a4). To work around this clash the alignment is set to one
- at the top of this header file and restored to four at the bottom so
- that ADS structures are byte-aligned.
- */
- #ifdef __ZTC__
- #pragma ZTC align 1
- #endif
- /* Ensure that C++ modules use the right linking conventions when calling
- functions contained in C.
- */
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef void *ads_hdlg;
- typedef void *ads_htile;
- typedef struct {
- ads_hdlg dialog;
- ads_htile tile;
- ACHAR* value;
- void* client_data;
- int reason;
- long x, y;
- } ads_callback_packet;
- /* The following are used in tile callback packets. Their meaning
- for each kind of tile can be found in the Programmable Dialogue
- Boxes documentation.
- */
- #define CBR_SELECT 1
- #define CBR_LOST_FOCUS 2
- #define CBR_DRAG 3
- #define CBR_DOUBLE_CLICK 4
- #ifndef _PROTEUS_H
- /* ADS user's function, passed to AutoCAD to be called later
- */
- typedef void (*CLIENTFUNC) (ads_callback_packet *cpkt);
- #endif /* _PROTEUS_H */
- #define NULLCB ((CLIENTFUNC)0)
- #define BAD_DIALOG NULL
- /* Return by reference integers for ads_start_dialog
- */
- #define DLGCANCEL 0 /* User pressed Cancel or equivalent */
- #define DLGOK 1 /* User pressed Ok */
- #define DLGALLDONE -1 /* All dialogs terminated with
- term_dialog */
- #define DLGSTATUS 2 /* start of user return codes */
- #ifndef _PROCONST_H
- /* Preventing redefined warnings.
- List argument type for ads_start_list();
- */
- #define LIST_CHANGE ((short) 1) /* Change selected listbox contents */
- #define LIST_APPEND ((short) 2) /* Append new listbox entry */
- #define LIST_NEW ((short) 3) /* Delete old list and create new list */
- /*
- Mode argument type for ads_mode_tile();
- */
- #define MODE_ENABLE ((short) 0) /* Enable tile */
- #define MODE_DISABLE ((short) 1) /* Disable tile */
- #define MODE_SETFOCUS ((short) 2) /* Set focus to tile */
- #define MODE_SETSEL ((short) 3) /* Set editbox selection--allows
- auto-clearing of old string */
- #define MODE_FLIP ((short) 4) /* Invert current state */
- #endif // _PROCONST_H
- /* For buffers that receive values for tiles. The number is
- arbitrary--it's just here to allow changing them all from
- one place.
- */
- #ifndef _PROTEUS_H
- #define MAX_TILE_STR 40
- #endif
- #define TILE_STR_LIMIT 2035 /* limit of DCL dialog strings */
- /* Dialog Functions
- */
- int ads_load_dialog (const ACHAR *dclfile, int *dcl_id);
- int ads_unload_dialog (int dcl_id);
- int ads_new_dialog (const ACHAR *dlgname, int dcl_id,
- CLIENTFUNC def_callback, ads_hdlg *hdlg);
- int ads_new_positioned_dialog (const ACHAR *dlgname, int dcl_id,
- CLIENTFUNC def_callback, int x, int y,
- ads_hdlg *hdlg);
- int ads_start_dialog (ads_hdlg hdlg, int *status);
- int ads_term_dialog (void);
- int ads_action_tile (ads_hdlg hdlg, const ACHAR *key, CLIENTFUNC tilefunc);
- int ads_done_dialog (ads_hdlg hdlg, int status);
- int ads_done_positioned_dialog (ads_hdlg hdlg, int status, int *x_result,
- int *y_result);
- int ads_set_tile (ads_hdlg hdlg, const ACHAR *key, const ACHAR *value);
- int ads_client_data_tile (ads_hdlg hdlg, const ACHAR *key, void *clientdata);
- int ads_get_tile (ads_hdlg hdlg, const ACHAR *key,
- ACHAR *value, int maxlen);
- int ads_get_attr (ads_hdlg hdlg, const ACHAR *key,
- ACHAR *attr, ACHAR *value, int len);
- int ads_get_attr_string (ads_htile tile, ACHAR *attr, ACHAR *value, int len);
- int ads_start_list (ads_hdlg hdlg, const ACHAR *key, short operation, short index);
- int ads_add_list (const ACHAR *item);
- int ads_end_list (void);
- int ads_mode_tile (ads_hdlg hdlg, const ACHAR *key, short mode);
- int ads_dimensions_tile (ads_hdlg hdlg, const ACHAR *key,
- short *cx, short *cy);
- int ads_start_image (ads_hdlg hdlg, const ACHAR *key);
- int ads_vector_image (short x1, short y1, short x2, short y2, short color);
- int ads_fill_image (short x1, short y1, short x2, short y2, short color);
- int ads_slide_image (short x1, short y1, short x2, short y2,
- const ACHAR *slnam);
- int ads_end_image (void);
- #ifdef __cplusplus
- }
- #endif
- #pragma pack (pop)
- #endif
|