1 /***************************************************************************
3 BetterString.mcc - A better String gadget MUI Custom Class
4 Copyright (C) 1997-2000 Allan Odgaard
5 Copyright (C) 2005-2009 by BetterString.mcc Open Source Team
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or (at your option) any later version.
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
17 BetterString class Support Site: http://www.sf.net/projects/bstring-mcc/
21 ***************************************************************************/
23 #ifndef BETTERSTRING_MCC_H
24 #define BETTERSTRING_MCC_H
31 #include <exec/types.h>
34 #if !defined(__AROS__) && defined(__PPC__)
37 #elif defined(__VBCC__)
42 /***********************************************************************/
44 // STACKED ensures proper alignment on AROS 64 bit systems
45 #if !defined(__AROS__) && !defined(STACKED)
49 /***********************************************************************/
51 #define MUIC_BetterString "BetterString.mcc"
53 #if defined(__AROS__) && !defined(NO_INLINE_STDARG)
54 #define BetterStringObject MUIOBJMACRO_START(MUIC_BetterString)
56 #define BetterStringObject MUI_NewObject(MUIC_BetterString
60 #define MUIA_BetterString_SelectSize 0xad001001
61 #define MUIA_BetterString_StayActive 0xad001003
62 #define MUIA_BetterString_Columns 0xad001005
63 #define MUIA_BetterString_NoInput 0xad001007
64 #define MUIA_BetterString_KeyUpFocus 0xad001008
65 #define MUIA_BetterString_KeyDownFocus 0xad001009
66 #define MUIA_BetterString_InactiveContents 0xad00100a
67 #define MUIA_BetterString_NoShortcuts 0xad00100c
68 #define MUIA_BetterString_SelectOnActive 0xad00100d
71 #define MUIM_BetterString_Insert 0xad001002
72 #define MUIM_BetterString_ClearSelected 0xad001004
73 #define MUIM_BetterString_FileNameStart 0xad001006
74 #define MUIM_BetterString_DoAction 0xad00100b
76 // values for MUIM_BetterString_Insert
77 #define MUIV_BetterString_Insert_StartOfString 0x00000000
78 #define MUIV_BetterString_Insert_EndOfString 0xfffffffe
79 #define MUIV_BetterString_Insert_BufferPos 0xffffffff
81 // result values of MUIM_BetterString_FileNameStart
82 #define MUIR_BetterString_FileNameStart_Volume -1
84 // values for MUIM_BetterString_DoAction
85 enum MUIV_BetterString_DoActions
87 MUIV_BetterString_DoAction_Cut
= 1,
88 MUIV_BetterString_DoAction_Copy
= 2,
89 MUIV_BetterString_DoAction_Paste
= 3,
90 MUIV_BetterString_DoAction_SelectAll
= 4,
91 MUIV_BetterString_DoAction_SelectNone
= 5,
92 MUIV_BetterString_DoAction_Undo
= 6,
93 MUIV_BetterString_DoAction_Redo
= 7,
94 MUIV_BetterString_DoAction_Revert
= 8,
95 MUIV_BetterString_DoAction_ToggleCase
= 9,
96 MUIV_BetterString_DoAction_ToggleCaseWord
= 10,
97 MUIV_BetterString_DoAction_IncreaseNum
= 11,
98 MUIV_BetterString_DoAction_DecreaseNum
= 12,
99 MUIV_BetterString_DoAction_HexToDec
= 13,
100 MUIV_BetterString_DoAction_DecToHex
= 14,
101 MUIV_BetterString_DoAction_NextFileComp
= 15,
102 MUIV_BetterString_DoAction_PrevFileComp
= 16,
103 MUIV_BetterString_DoAction_Delete
= 17
106 // parameter structures for methods
107 struct MUIP_BetterString_Insert
{ STACKED ULONG MethodID
; STACKED STRPTR text
; STACKED LONG pos
; };
108 struct MUIP_BetterString_ClearSelected
{ STACKED ULONG MethodID
; };
109 struct MUIP_BetterString_FileNameStart
{ STACKED ULONG MethodID
; STACKED STRPTR buffer
; STACKED LONG pos
; };
110 struct MUIP_BetterString_DoAction
{ STACKED ULONG MethodID
; STACKED
enum MUIV_BetterString_DoActions action
; };
112 #if !defined(__AROS__) && defined(__PPC__)
113 #if defined(__GNUC__)
115 #elif defined(__VBCC__)
116 #pragma default-align
124 #endif /* BETTERSTRING_MCC_H */