Version 1.00: - erste ”ffentliche Version Version 1.01: - SLINFO-Struktur fr Echtzeit-Schieberfunktionen - BUTTON-Struktur fr Userdef-Buttons (Radio,Check usw.) - Absturz in Funktion cycle_image() beseitigt - Fehler bei der Anpassung der Dialoge an System-Font-Gr”že beseitigt sowie Anpassung verbessert - rc_scr_copy sowie rc_clear in rc_sc_copy und rc_sc_clear umbenannt Version 1.02: - POPUP-Struktur fr Popup-Menus (Popup()) - Infotext/Cyclebutton wurden nach dem Beenden eines Popups nicht mehr deselektiert - bei menu_enable() wird vor dem Neuzeichnen/L”schen des Menus unter MultiTOS die Applikation ermittelt, der die Menleiste geh”rt Version 1.10: - compiliert mit Pure C 1.1 - Userdef-Objekte hoffentlich unabh„ngig von der Gr”že des Systemfonts - Beispiel-Programm fr Verwendung der Library - neue Funktion rc_sc_invert() (invertiert Bildschirmbereiche) - zus„tzlicher Parameter bei dial_opt() -> Niceline funktioniert jetzt auch bei Popup-Mens (Funktion menu_tune() entf„llt) - Fehler bei abh„ngigen Default-Objekt beseitigt (fehlerhafte Initialisierung) - einige Fehler in der Popup-Funktion beseitigt - Popup-Mens k”nnen an Popup-Button ausgerichtet werden - Cycle-Buttons k”nnen ber Shift-Alternate-Taste bedient werden - Mauszeiger wird jetzt nach der Initialisierung auf Arrow gesetzt - Fehler in ob_set_text/ob_get_text bei G_BOXTEXT beseitigt - die ASCII-Tabelle (aufrufbar ber Shift-Insert) liegt jetzt in einem modalen Fensterdialog (falls aktiver Dialog in einem Fenster liegt),der Hintergrund ist weiž und ein Fehler bei der Cursorbe- handlung wurde beseitigt - Editcursor-Positionierung per Maus verbessert - AC_OPEN wurde falsch ausgewertet bzw. teilweise ignoriert - ACC-Eintrag als neuer Parameter bei init_gem() sowie open_rsc() - neue globale Variablen menu_id (= ID des ACC-Eintrages) sowie menu (= Objekt-Baum des Pull-Down-Mens) - Pull-Down-Men wird bei modalen Dialogen automatisch disabled (sofern die Variable menu gesetzt ist) - neue Funktion menu_dropped() (testet,ob ein Pull-Down-Men heruntergeklappt ist), wodurch viele Probleme mit Tastendrcken bei heruntergeklappten Pull-Down-Men beseitigt werden konnten - DIAINFO-Struktur um di_title (= Adresse des Dialog-Titels) erweitert - menu_enable() restaurierte Menleiste bzw. DISABLED-Flag nicht mehr korrekt sowie Probleme mit Screenmanager behoben - WM_TOPPED-Nachricht bei modalen Dialogen wird jetzt korrekt ausgewertet - Flag fr Objekte, die nur in modalen Dialogen erscheinen sollen - Fehler in interner is_hidden()-Funktion behoben - Funktion dial_opt() hat zwei neue Parameter bekommen : - RETURN bet„tigt Default-Button oder springt in Dialogen mit Edit-Feldern in die n„chste Zeile - Hintergrundbedienung von Fensterdialogen an-/ausschalten - Text mit Attributen beachtet jetzt die im RCS eingestellte Textfarbe und wird bei kleiner Schrift vertikal korrekt positioniert - Fehler in ob_xywh beseitigt - rc_intersect von Joergen von Bargen optimiert Version 1.11: - Fehler in rc_intersect behoben - Rechtecke (GRECT) werden in rc_sc_copy und den damit zusammen- h„ngenden Funktionen nicht mehr zerst”rt - Fehler im Resource-File des Beispielprogramms beseitigt Version 1.12: - Mauszeiger blieb beim Verlassen eines Dialoges als Textcursor ein- gestellt, wenn er sich ber einem Edit-Objekt befand - Es werden nur noch die Tastendrcke von X_Form_Do durchgelassen, die nicht im aktiven Dialog vorkommen. Dadurch k”nnen jetzt in Men- leisten die gleichen Tastenkombinationen wie in Dialogen vorkommen. - Fehler in get_cookie und remove_cookie beseitigt, die zu Abstrzen oder Fehlfunktionen fhren konnten - Funktion xdialog() hat zwei neue Parameter erhalten, n„mlich int (*init)(EVENT *) und int (*call_func)(EVENT *) (s. X_Form_Do) - Fehlerhafter Redraw von Applikations-Fenstern bzw. fehlerhafte Nach- richtenauswertung bei ge”ffneter ASCII-Box bzw. modalen Fenster- Dialogen beseitigt - einige Funktionen umbenannt: count_size() -> mfdb_size() dial_opt() -> dial_options() dial_col() -> dial_colors() title_opt() -> title_options() graf_rt_slide_box -> graf_rt_slidebox() - ber das Makro __MINT_LIB__ kann jetzt die MiNT-Library ab Patch- level 30 benutzt werden (s. E_GEM.TXT) - absolute Pfade und andere potentielle Probleme bei der šbersetzung der Library (z.B. erweiterte PORTAB.H-Datei) aus den Sourcen/Projekt- dateien entfernt - rc_copy() liefert einen Wert zurck (int) - Funktion popup() hat einen neuen Parameter, mit dem der aktuell selek- tierte Eintrag bergeben werden kann - Hintergrundbedienung von Fenstern an Falcon-AES angepažt sowie Fehler bei Falcon-AES sowie Multi-AES behoben - Buttons mit Unterstrich fr Tastaturbedienung werden bei Bedarf um 2 Pixel vergr”žert - Wurde bei ge”ffneten Fenster-Dialogen eines Accessories ein Programm aus einem anderen Programm (nicht dem Desktop) gestartet, so hatte das System einen H„nger - Tippfehler im Namen von ob_undoflag behoben - die automatische Umschaltung von Fensterdialogen auf fliegende Dialoge bei keinem verfgbaren Fenster mehr funktionierte nicht - nicht selektierbare (=disabled) Editobjekte konnten angew„hlt werden - Redraw bei POPUP_SELECT-Popups war fehlerhaft Version 1.13: - Hintergrundbedienung von Fensterdialogen verbessert sowie standard- m„žig deaktiviert (kompatibler) - alle internen modulbergreifenden Variablen und Funktionen umbenannt, so daž keine šberschneidungen mit Anwender-Variablen/Funktionen mehr vorkommen sollten - Tippfehler in Deklaration von ob_undoflag endgltig behoben - Popup-Funktion berarbeitet: - opt. Positionierung des aktuellen Eintrags ber Popup-Button (OBJPOS) - neue Modi (POPUP_BTN,POPUP_CYCLE,POPUP_BTN_CHK,POPUP_CYCLE_CHK) - Vorgabe des selektierten Eintrages ber den Parameter 'select' funk- tionierte nicht korrekt bei h”herem Objekt-Index als dem aktuellen - Probleme mit versteckten Objekten behoben - neue globale Variable 'colors': Anzahl aller verfgbaren Farben - Probleme mit den Dateifunktionen der MiNT-Lib aufgrund fehlerhafter Definitionen behoben - absolute Aufrufe von Funktionen im Projekt-File - die Funktionen exit_gem() und close_rsc() schliežen jetzt evtl. noch ge”ffnete Dialoge selbst„ndig und geben somit Speicher/Fenster frei - die Funktion open_rsc() gibt jetzt den Return-Wert FAIL zurck, wenn die Resource-Datei nicht geladen werden konnte, und den Wert FALSE, wenn die Initialsierung ber init_gem() nicht funktionierte - die Funktion init_gem() gibt den Return-Wert FAIL zurck, wenn keine Workstation ge”ffnet werden konnte, und den Wert FALSE, wenn die An- meldung beim AES ber appl_init() fehlschlug - Clipboard-Funktionen in Edit-Feldern verbessert - Funktion strmfp() erzeugte fehlerhafte Zugriffspfade, wenn der ber- gebene Pfade keinen abschlieženden Backslash hatte (z.B. Nullstring) - Mauszeiger blieb als Textcursor eingestellt, wenn er sich ber einem Edit-Objekt befand und ein neuer Dialog mit Edit-Objekten ge”ffnet wurde - die Clipboard-Funktionen werten jetzt auch die Environment-Variable SCRAPDIR aus Version 1.20: - die Library l„žt sich jetzt auch unter GNU-C und Lattice C einsetzen (dank Markus Kilbinger @ AC), wobei die MiNT-Libraries ab Patchlevel 33 Voraussetzung sind - ausfhrliches und kommentiertes Beispielprogramm - Popup-Mens k”nnen wie normale Dialoge ber Hotkeys bedient werden, wobei die Alternate-Taste nicht gedrckt werden muž - neue Funktionen: = ascii_box() -> Aufruf der bisher internen Asciizeichen-Eingabebox = ob_set_hotkey() -> Žndern des Hotkey-Buchstabens eines Objekts = ob_get_hotkey() -> Hotkey-Buchstaben eines Objekts abfragen = graf_busy_mouse() -> rotierende Scheibe als Mauszeiger = graf_set_slider() -> Initialisierung der Slider-Elemente Bedeutung des letzten Parameters (=Modus): -> GRAF_SET_ARROWS initialisiert die Slider-Pfeile -> GRAF_SET_SIZE_POS setzt Gr”že und Position des Sliders -> GRAF_SET entspricht GRAF_SET_ARROWS und GRAF_SET_SIZE_POS -> GRAF_DRAW_SLIDER zeichnet die ge„nderte Slider-Elemente -> GRAF_DRAW entspricht GRAF_SET und GRAF_DRAW_SLIDER = save_clipping() -> aktuelle Clipping-Area sichern = restore_clipping() -> Clipping-Area wiederherstellen = rc_array_to_grect() -> Koordinaten-Array wird in Rechteck (GRECT) umgewandelt - Slider-Struktur SLINFO erweitert: = sl_pos (int) -> aktueller Wert = sl_max (int) -> maximaler Wert = sl_page (int) -> Seitenl„nge -> automatische Verwaltung der Slider-Werte - Popup-Struktur POPUP erweitert: = p_set (boolean) -> Popup-Button-Text automatisch setzen - neue globale Variable 'redraw' enth„lt einen Wert ungleich Null, wenn gerade Teile von Fensterdialogen aufgrund von Redraw-Nachrichten neu- gezeichnet werden - bei einem fehlerhaften Aufbau des Resource-Files werden jetzt ent- sprechende Warnungen ausgegeben - Flugecke wird jetzt an die Rahmendicke des Elternobjekts angepažt - Assembler-Routinen an Resource-Files > 32 Kb angepažt - Fliegen mit nicht-selektierbaren/editierbaren Objekten default-m„žig deaktiviert (kann ber zus„tzlichen Parameter der Funktion dial_options() aktiviert werden) - Probleme mit Mausform bei springenden Dialogen sowie Popups behoben - Doppelklick auf Exit-Objekte funktionierte nicht - Probleme mit Alternate-Tastenkombinationen in Pull-Down-Mens bei aktivem Dialog mit Edit-Feldern behoben - Index-Rckgabe der Popupfunktion war fehlerhaft - Darstellung von Text mit VDI-Attributen war in seltenen F„llen fehler- haft, u.a. wird jetzt auch die Ausrichtung von G_TEXT beachtet - die Funktionen ob_set_text/ob_get_text arbeiten jetzt auch bei Text mit VDI-Attributen korrekt - Probleme bei gleichzeitig aktiven fliegenden Dialogen und Fenster- dialogen behoben - Positionierung von Hotkeys verbessert - einige interne Vorg„nge optimiert (auch in Hinblick auf Flexibilit„t der Resource-Struktur), so daž u.a. die Ereignisauswertungs-Funktion, welche als Zeiger an die Funktionen xdialog/X_Form_Do/ascii_box bergeben werden kann, keinen Wert mehr zurckgeben muž ((void)(*call_func)(int)) Version 1.30: - Untersttzung von Winx >=2.10 und Mag!X >= 2.00 - kleinere Fehler in der Anpassung an Lattice C und GNU-C behoben - neue Funktionen: = appl_getfontinfo(int ap_gtype,int *height,int *id,int *type) -> Informationen (Gr”že, Font-ID, Typ) ber Systemzeichens„tze = xalert(int default,int icn,BITBLK *usr_icn,char *title,char *txt, char *btns,int (*foo1)(EVENT*),void (*foo2)(EVENT *)) -> Alert-Funktion mit 18 verschiendenen Icons (auch benutzerde- finierte Icons beliebiger Gr”že), beliebig lange Zeilen/Buttons, maximal 10 Zeilen/5 Buttons, Buttons per Hotkey anw„hlbar (auch ohne Alternate-Taste) = ob_draw_lst(DIAINFO *info,int *list,GRECT *area) -> Zeichnet eine Liste von Objekten (letztes Element <=0) im an- gegebenen Bildschirmausschnitt - neue globale Variablen: = (int) small_font_id,ibm_font_id: -> Fond-Identifikationsnummern des kleinen/normalen System-Fonts = (int) fonts_loaded: -> Anzahl der geladenen GDOS-Fonts bzw. Null = (DIAINFO *) dinfo -> Zeiger auf die DIAINFO-Struktur des obersten Dialogs = (int) winx: -> Winx >= 2.10 vorhanden ? = (int) magx: -> Mag!X >= 2.00 vorhanden ? - Anpassung an verschiedene System-Zeichens„tze verbessert - Funktion graf_busy_mouse() war aufgrund einer Vertrauschung von Daten und Maske des Mauszeigers fehlerhaft - Funktion ob_set_hotkey() kann jetzt auch Hotkeys entfernen, wenn man als Hotkeyzeichen '\0' bergibt - die Funktion Popup() liefert jetzt in Bit 15 zurck, ob der Eintrag per Doppelklick bzw. mit gedrckter Shift-Taste angew„hlt wurde - Nachricht OBJC_EDITED wird an Hauptprogramm weitergegeben, wenn ein Editfeld ver„ndert wurde - Bildschirmausgabe ber ob_draw_chg() war bei Objekten, welche sich am linken Bildschirmrand befanden, fehlerhaft, sofern kein Ausgabe- rechteck angegeben wurde - Redraw-Fehler unter Winx 2.1 beseitigt - Radio- und Check-Buttons konnten nicht gleichzeitig DISABLED und SELECTED sein - EXIT-Objekte ohne SELECTABLE-Status wurden wie TOUCHEXIT-Objekte be- handelt - Editcursor wurde beim ™ffnen eines Dialogs manchmal auf Editfelder mit DISABLED-Status gesetzt - Probleme mit unterschiedlicher Deklaration der vq_gdos()-Funktion be- hoben - fehlerhafte Resource-Struktur in Pull-Down-Mens bei manchen Resource- Construction-Sets wird abgefangen Version 1.35: - neue Funktionen: void redraw_dialog(DIAINFO *info,GRECT *area) => Bereich 'area' des Dialogs 'info' neuzeichnen void move_dialog(DIAINFO *info,GRECT *area) => Dialog 'info' zu neuer Position 'area' verschieben void redraw_iconified(int handle,OBJECT *icon,GRECT *area) => Ikonifiziertes Fenster neuzeichnen => neue globale Variable: (OBJECT *) iconified = Zeiger auf Objektbaum zur Darstellung von Fensterdialogen im ikonifizierten Zustand int ob_get_parent(OBJECT *tree,int obj) => Elternobjekt eines Objekts suchen - neuer erweiterter Objekttyp: Undo-Button (19) => dieser Typ kann jedem beliebigen normalem Objekt gegeben werden, wobei die Undo-Funktion in Edit-Feldern dann deaktiviert ist - Iconifizierung von Fensterdialogen unter MTOS (abschaltbar durch NO_ICONIFY im Dialogtyp) - neuer Parameter 'undo' bei der Funktion xalert(), um gegebenenfalls einen Undo-Button zu definieren - neue Parameter 'keys' und 't_small' bei der Funktion dial_options(): => 'keys': bei Bedarf werden alle nicht ausgewerteten Tastendrcke an die Applikation weitergeleitet (auch bei modalen Dialogen) => 't_small': šberschriften in Dialogen mit kleiner Schrift - neuer Parameter 'all' bei der Funktion scrap_clear(), um das komplette Clipboard und nicht nur Scrap-Dateien zu l”schen - die Variablen 'magx' und 'winx' enthalten die Versionsnummern von Winx (>= 2.10) sowie Mag!X (>= 2.00) - Anpassung an unterschiedliche Gr”žen des System-Fonts verbessert - Probleme mit modalen Fenster-Dialogen im Zusammenspiel mit Anwendungs- fenstern behoben - Probleme mit Editcursor sowie Mauszeiger bei Fenster wechseln oder verschieben behoben - Probleme mit der Menleiste bei Alert-Boxen ber modalen Fenster- dialogen behoben - Checkboxen und Radio-Buttons wurden in Farbaufl”sungen teilweise falsch konvertiert (halbe H”he) bzw. positioniert - bei modalen Dialogen im Vordergrund k”nnen keine Hintergrunddialoge mehr geschlossen werden - Fehler in remove_cookie() behoben - die Funktionen xalert() bzw. xdialog() strzten teilweise ab - Anpassungen an GNU-C und Lattice C, u.a. appl_getinfo implementiert - Funktion 'typetest()' im Modul 'rc_ob_c.c()' funktionierte nicht bei erweiterten Objekten - Identifikations-String der Library im Modul 'dial.c' - eigene Timer-Funktion funktionierte nicht bei Timer-Werten>32767 - Clipping bei Echtzeit-Slidern in Hintergrundfenstern war fehlerhaft - Drag & Drop - Nachrichten werden an die Applikation bei aktiven Dialogen weitergeleitet - kleinere Anpassungen an 3D-Look unter MTOS bzw. Falcon-TOS - Alert-Boxen sind ab dieser Version system-modal (vorher applikations- modal