diff options
author | marcus <marcus@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2016-12-21 22:13:13 +0000 |
---|---|---|
committer | marcus <marcus@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2016-12-21 22:13:13 +0000 |
commit | b0aced8878a7903d10b12c961386e011cd966b68 (patch) | |
tree | 90464259c9aa9b25e2cad86208843c4212bff74a /packages/ami-extra | |
parent | bae286041d6df2eb37ac9dd0e2c22817f79dc1ed (diff) | |
download | fpc-b0aced8878a7903d10b12c961386e011cd966b68.tar.gz |
Ami-extra: added muihelper macros, marked as obsolete but widely used
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@35177 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/ami-extra')
-rw-r--r-- | packages/ami-extra/src/muihelper.pas | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/packages/ami-extra/src/muihelper.pas b/packages/ami-extra/src/muihelper.pas index dfb9c38e46..6f95ad1a63 100644 --- a/packages/ami-extra/src/muihelper.pas +++ b/packages/ami-extra/src/muihelper.pas @@ -316,6 +316,44 @@ procedure MH_SetString(Obj: PObject_; s: PChar); procedure MH_SetCheckmark(Obj: PObject_; b: Boolean); procedure MH_SetSlider(Obj: PObject_; l: LongInt); +// deprecated but widely used macros +function MH_String(Contents: PChar; MaxLen: Integer): PObject_; +function MH_String(var NString: PObject_; Contents: PChar; MaxLen: Integer): PObject_; + +function MH_KeyString(Contents: PChar; MaxLen: Integer; ControlChar: Char): PObject_; +function MH_KeyString(var NString: PObject_; Contents: PChar; MaxLen: Integer; ControlChar: Char): PObject_; + +function MH_CheckMark(Selected: Boolean): PObject_; +function MH_CheckMark(var CM: PObject_; Selected: Boolean): PObject_; + +function MH_KeyCheckMark(Selected: Boolean; ControlChar: Char): PObject_; +function MH_KeyCheckMark(var CM: PObject_; Selected: Boolean; ControlChar: Char): PObject_; + +function MH_KeyButton(Name: PChar; Key: Char): PObject_; +function MH_KeyButton(var KB: PObject_; Name: PChar; Key: Char): PObject_; + +function MH_Cycle(Entries: PPChar): PObject_; +function MH_Cycle(var CY: PObject_; Entries: PPChar): PObject_; + +function MH_KeyCycle(Entries: PPChar; Key: Char): PObject_; +function MH_KeyCycle(var KC: PObject_; Entries: PPChar; Key: Char): PObject_; + +function MH_Radio(Name: PChar; Rarray: PPChar): PObject_; +function MH_Radio(var RA: PObject_; Name: PChar; Rarray: PPChar): PObject_; + +function MH_KeyRadio(Name: PChar; Rarray: PPChar; Key: Char): PObject_; +function MH_KeyRadio(var KR: PObject_; Name: PChar; Rarray: PPChar; Key: Char): PObject_; + +function MH_Slider(MinS, MaxS, Level: Integer): PObject_; +function MH_Slider(var SL: PObject_; MinS, MaxS, Level: Integer): PObject_; + +function MH_KeySlider(MinS, MaxS, Level: Integer; Key: Char): PObject_; +function MH_KeySlider(var KS: PObject_; MinS, MaxS, Level: Integer; Key: Char): PObject_; + + + + + function MH_NewObject(ClassPtr: PIClass; ClassID: PChar; const Tags: array of PtrUInt): APTR; function MH_NewObject(var Obj; ClassPtr: PIClass; ClassID: PChar; const Tags: array of PtrUInt): APTR; @@ -1613,6 +1651,185 @@ begin MH_NewObject := PObject_(Obj); end; +// deprecated but widely used macros + +function MH_String(Contents: PChar; MaxLen: Integer): PObject_; +begin + MH_String := MH_String([ + MUIA_Frame, StringFrame, + MUIA_String_MaxLen, MaxLen, + MUIA_String_Contents, AsTag(Contents), + TAG_DONE]); +end; + +function MH_String(var NString: PObject_; Contents: PChar; MaxLen: Integer): PObject_; +begin + NString := MH_String(Contents, MAxLen); + MH_String := NString; +end; + +function MH_KeyString(Contents: PChar; MaxLen: Integer; ControlChar: Char): PObject_; +begin + MH_KeyString := MH_String([ + MUIA_Frame, StringFrame, + MUIA_ControlChar, AsTag(Byte(ControlChar)), + MUIA_String_MaxLen, maxlen, + MUIA_String_Contents, AsTag(Contents), + TAG_DONE]); +end; + +function MH_KeyString(var NString: PObject_; Contents: PChar; MaxLen: Integer; ControlChar: Char): PObject_; +begin + NString := MH_KeyString(Contents, MaxLen, ControlChar); + MH_KeyString := NString; +end; + +function MH_CheckMark(Selected: Boolean): PObject_; +begin + MH_CheckMark := MH_Image([ + MUIA_Frame, ImageButtonFrame, + MUIA_InputMode, MUIV_InputMode_Toggle, + MUIA_Image_Spec, MUII_CheckMark, + MUIA_Image_FreeVert, MUI_TRUE, + MUIA_Selected, AsTag(Selected), + MUIA_Background, MUII_ButtonBack, + MUIA_ShowSelState, MUI_FALSE, + TAG_DONE]); +end; + +function MH_CheckMark(var CM: PObject_; Selected: Boolean): PObject_; +begin + CM := MH_CheckMark(Selected); + MH_CheckMark := CM; +end; + +function MH_KeyCheckMark(Selected: Boolean; ControlChar: Char): PObject_; +begin + MH_KeyCheckMark := MH_Image([ + MUIA_Frame, ImageButtonFrame, + MUIA_InputMode, MUIV_InputMode_Toggle, + MUIA_Image_Spec, MUII_CheckMark, + MUIA_Image_FreeVert, MUI_TRUE, + MUIA_Selected, AsTag(Selected), + MUIA_Background, MUII_ButtonBack, + MUIA_ShowSelState, MUI_FALSE, + MUIA_ControlChar, AsTag(Byte(ControlChar)), + TAG_DONE]); +end; + +function MH_KeyCheckMark(var CM: PObject_; Selected: Boolean; ControlChar: Char): PObject_; +begin + CM := MH_KeyCheckMark(Selected, ControlChar); + MH_KeyCheckMark := CM; +end; + +function MH_KeyButton(Name: PChar; Key: Char): PObject_; +begin + MH_KeyButton := MH_Text([ + MUIA_Frame, ButtonFrame, + MUIA_Font, MUIV_Font_Button, + MUIA_Text_Contents, AsTag(Name), + MUIA_Text_PreParse, AsTag(PChar(MUIX_C)), + MUIA_Text_HiChar , AsTag(Byte(Key)), + MUIA_ControlChar , AsTag(Byte(Key)), + MUIA_InputMode , MUIV_InputMode_RelVerify, + MUIA_Background , MUII_ButtonBack, + TAG_DONE]); +end; + +function MH_KeyButton(var KB: PObject_; Name: PChar; Key: Char): PObject_; +begin + KB := MH_KeyButton(Name, Key); + MH_KeyButton := KB; +end; + +function MH_Cycle(Entries: PPChar): PObject_; +begin + MH_Cycle := MH_Cycle([ + MUIA_Font, MUIV_Font_Button, + MUIA_Cycle_Entries, AsTag(entries), + TAG_DONE]); +end; + +function MH_Cycle(var CY: PObject_; Entries: PPChar): PObject_; +begin + CY := MH_Cycle(Entries); + MH_Cycle := CY; +end; + +function MH_KeyCycle(Entries: PPChar; Key: Char): PObject_; +begin + MH_KeyCycle := MH_Cycle([ + MUIA_Font, MUIV_Font_Button, + MUIA_Cycle_Entries, AsTag(entries), + MUIA_ControlChar, AsTag(Byte(Key)), + TAG_DONE]); +end; + +function MH_KeyCycle(var KC: PObject_; Entries: PPChar; Key: Char): PObject_; +begin + KC := MH_KeyCycle(Entries, Key); + MH_KeyCycle := KC; +end; + +function MH_Radio(Name: PChar; Rarray: PPChar): PObject_; +begin + MH_Radio := MH_Radio([ + MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, AsTag(Name), MUIA_Background, MUII_GroupBack, + MUIA_Radio_Entries, AsTag(Rarray), + TAG_DONE]); +end; +function MH_Radio(var RA: PObject_; Name: PChar; Rarray: PPChar): PObject_; +begin + RA := MH_Radio(Name, Rarray); + MH_Radio := RA; +end; + +function MH_KeyRadio(Name: PChar; Rarray: PPChar; Key: Char): PObject_; +begin + MH_KeyRadio := MH_Radio([ + MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, AsTag(Name), MUIA_Background, MUII_GroupBack, + MUIA_Radio_Entries, AsTag(Rarray), + MUIA_ControlChar, AsTag(Byte(Key)), + TAG_DONE]); +end; + +function MH_KeyRadio(var KR: PObject_; Name: PChar; Rarray: PPChar; Key: Char): PObject_; +begin + KR := MH_KeyRadio(Name, Rarray, Key); + MH_KeyRadio := KR; +end; + +function MH_Slider(MinS, MaxS, Level: Integer): PObject_; +begin + MH_Slider := MH_Slider([ + MUIA_Numeric_Min, MinS, + MUIA_Numeric_Max, MaxS, + MUIA_Numeric_Value, level, + TAG_DONE]); +end; + +function MH_Slider(var SL: PObject_; MinS, MaxS, Level: Integer): PObject_; +begin + SL := MH_Slider(MinS, MaxS, Level); + MH_Slider := SL; +end; + +function MH_KeySlider(MinS, MaxS, Level: Integer; Key: Char): PObject_; +begin + MH_KeySlider := MH_Slider([ + MUIA_Numeric_Min, MinS, + MUIA_Numeric_Max, MaxS, + MUIA_Numeric_Value, level, + MUIA_ControlChar, AsTag(Byte(Key)), + TAG_DONE]); +end; + +function MH_KeySlider(var KS: PObject_; MinS, MaxS, Level: Integer; Key: Char): PObject_; +begin + KS := MH_KeySlider(MinS, MaxS, Level, Key); + MH_KeySlider := KS; +end; end. |