'
' MODULE Gem-Help
' Version 1.2
' (C) 22.10.1993 von Manfred Ssykor
'
INLINE ob_spec%,108
@init_states
' --!PP
> PROCEDURE init_states
'
' Objekt-Flags
' ++!sy
LET selectable&=0
LET default&=1
LET exit&=2
LET editable&=3
LET rbutton&=4
LET lastob&=5
LET touchexit&=6
LET hidetree&=7
LET indirect&=8
'
' Objekt-States
'
LET selected&=0
LET crossed&=1
LET checked&=2
LET disabled&=3
LET outlined&=4
LET shadowed&=5
' ++!sy
RETURN
' --!PP
'
> PROCEDURE deffn_s
' Objekt-Flag abfragen
DEFFN get_flag(tr%,obj&,f&)=BTST(OB_FLAGS(tr%,obj&),f&)
' Objekt-State abfragen
DEFFN get_state(tr%,obj&,f&)=BTST(OB_STATE(tr%,obj&),f&)
' Objekt-Text abfragen
DEFFN get_text$(tr%,obj&)=CHAR{C:ob_spec%(L:tr%,obj&)}
RETURN
> PROCEDURE set_text(tr%,obj&,text$,r!)
~WIND_UPDATE(1)
CHAR{C:ob_spec%(L:tr%,obj&)}=text$
IF r!=TRUE
@redraw(tr%,obj&)
ENDIF
~WIND_UPDATE(0)
RETURN
> PROCEDURE deselect(tr%,obj&,r!)
' Objekt Deselektieren
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
@clr_state(tr%,obj&,selected&,r!)
RETURN
> PROCEDURE select(tr%,obj&,r!)
' Objekt Selektieren
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
@set_state(tr%,obj&,selected&,r!)
RETURN
> PROCEDURE disable(tr%,obj&,r!)
' Objekt Hellgedruckt darstellen
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
@set_state(tr%,obj&,disabled&,r!)
RETURN
> PROCEDURE able(tr%,obj&,r!)
' Objekt Normal darstellen
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
@clr_state(tr%,obj&,disabled&,r!)
RETURN
> PROCEDURE set_flag(tr%,obj&,f&,r!)
' Objekt-Flag setzen
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' f&  = Flag, das gesetzt werden soll
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
OB_FLAGS(tr%,obj&)=BSET(OB_FLAGS(tr%,obj&),f&)
IF r!=TRUE
@redraw(tr%,obj&)
ENDIF
RETURN
> PROCEDURE clr_flag(tr%,obj&,f&,r!)
' Objekt-Flag l”schen
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' f&  = Flag, das gel”scht werden soll
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
OB_FLAGS(tr%,obj&)=BCLR(OB_FLAGS(tr%,obj&),f&)
IF r!=TRUE
@redraw(tr%,obj&)
ENDIF
RETURN
> PROCEDURE change_flag(tr%,obj&,f&,r!)
' Objekt-Flag „ndern (aus EIN wird AUS, aus AUS wird EIN)
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' f&  = Flag, das ge„ndert werden soll
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
OB_FLAGS(tr%,obj&)=BCHG(OB_FLAGS(tr%,obj&),f&)
IF r!=TRUE
@redraw(tr%,obj&)
ENDIF
RETURN
> PROCEDURE set_state(tr%,obj&,f&,r!)
' Objekt-State setzen
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' f&  = State, das gesetzt werden soll
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
OB_STATE(tr%,obj&)=BSET(OB_STATE(tr%,obj&),f&)
IF r!=TRUE
@redraw(tr%,obj&)
ENDIF
RETURN
> PROCEDURE clr_state(tr%,obj&,f&,r!)
' Objekt-State l”schen
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' f&  = State, das gel”scht werden soll
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
OB_STATE(tr%,obj&)=BCLR(OB_STATE(tr%,obj&),f&)
IF r!=TRUE
@redraw(tr%,obj&)
ENDIF
RETURN
> PROCEDURE change_state(tr%,obj&,f&,r!)
' Objekt-State „ndern (aus EIN wird AUS, aus AUS wird EIN)
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
' f&  = State, das ge„ndert werden soll
' r!  = Objekt neuzeichnen (TRUE = Ja, FALSE = Nein)
'
OB_STATE(tr%,obj&)=BCHG(OB_STATE(tr%,obj&),f&)
IF r!=TRUE
@redraw(tr%,obj&)
ENDIF
RETURN
> PROCEDURE redraw(tr%,obj&)
' Objekt Redraw'en (Neuzeichnen)
'
' tr% = Dialog-Baum Adresse
' obj&= Index des Objektes
'
~OBJC_DRAW(tr%,obj&,3,0,0,0,0)
RETURN
' ENDMODULE GEM-HELP
' ********************************************************************************
