Aktuelle Zeit: 14.12.2017 02:27

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: [Module] DynamicGUI
BeitragVerfasst: 06.10.2017 18:21 
Offline
Benutzeravatar

Registriert: 04.02.2005 15:40
Wohnort: Kaufbeuren
Ich habe das "DynamicDialogs"-Module von PureLust an meine Bedürfnisse angepasst und um eine Speicherfunktion für die letzte Fensterposition und -größe erweitert.

Download: DynamicGUI_Module.pbi

Code:
; added:   Speichern, laden & wiederherstellen von Fensterpositionen & -größen
; added:   GetWinID(DialogID.i) & GetGadgetID(DialogID.i, Name.s)
; changed: Anpassung der Befehlsnamen für den Aufruf mittels "DynGUI::"
; changed: Makros durch Proceduren ersetzt, da diese den compilerten Code unnötig "aufblähen"
; changed: T2H() -> TXT2XML(), da eine Maskierung der Strings für XML (anstatt HTML) logischer erscheint
; changed: CreateUUID() für fehlende Image-Namen
; changed: Bugfix Macro 'Auswertung_Parameter_URL' (URL$ => XML$)
; changed: Struktur 'Struct_XMLout' anstatt einzelner Variablen
; changed: Lesbarkeit des Codes verbessert & Ersetzen der "unsäglichen" Tabulatoren durch Leerzeichen
; changed: diverse Bugfixes

_________________
Meine PureBasic-Projekte:
EasySetup - Setups für eigene Programme erstellen
___________________________________________
Windows 10 - 64Bit | PureBasic V5.61 & V5.3
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: DynamicGUI
BeitragVerfasst: 07.10.2017 12:38 
Offline
Benutzeravatar

Registriert: 04.02.2005 15:40
Wohnort: Kaufbeuren
Dynamische GUI

- Automatische Größenanpassung von Gadget bei Änderung der Fenstergröße (basierend auf Dialog-Befehlsbibliothek)
- Speichern und wiederherstellen der letzten Fensterposition und/oder -größe

    ===== DynamicGUI - Befehle =====

    DynGUI::ClearXML() - löschen bzw. zurücksetzen des bisher erzeugten XML-Codes
    DynGUI::ShowNodeErrors() - de-/aktivieren von Nachrichten, die bei Fehlern von Close-Nodes angezeigt werden
    DynGUI::ClearXML() - löschen bzw. zurücksetzen des bisher erzeugten XML-Codes
    DynGUI::GetXML() - abrufen des bisher erzeugten XML-Codes
    DynGUI::SetXML() - setzt den XML-Code & alle folgenden Befehle fügen ihren Code hier an
    DynGUI::AddXML() - zum Einfügen diverser eigener XML-Codes SetXMLOutputFormat()
    DynGUI::CloseNode() - statt immer den passenden Endxxx()-Befehl zu nehmen, kann auch einfach CloseNode() genommen werden.
    DynGUI::CheckDialog() - überprüfen, ob eine Dialog-Definition güötig ist
    DynGUI::Font()
    DynGUI::FontByID()
    DynGUI::GetWinID() - WindowID für PB-Befehle anhand der DialogID ermitteln (Thorsten1867)
    DynGUI::GetGadgetID() - GadgetID für PB-Befehle anhand der DialogID und des Namens ermitteln (Thorsten1867)

    DynGUI::SaveWindowsData() - Letzte Fensterpositionen & -größen in JSON-Datei speichern (Thorsten1867)
    DynGUI::LoadWindowsData() - Letzte Fensterpositionen & -größen aus JSON-Datei laden (Thorsten1867)
    DynGUI::RestoreWinPosition() - Letzte Fensterposition wiederherstellen (Thorsten1867)
    DynGUI::RestoreWinSize() - Letzte Fenstergröße wiederherstellen (Thorsten1867)
    DynGUI::RestoreWindow() - Letzte Fensterposition & -größe wiederherstellen (Thorsten1867)

    DynGUI::OpenWindowXML() & CloseWindowXML()
    DynGUI::DialogXML() & EndDialogXML()
    DynGUI::WindowXML() & EndWindowXML()
    DynGUI::vBoxXML() & EndVBoxXML()
    DynGUI::hBoxXML() & EndHBoxXML()
    DynGUI::GridBoxXML() & EndGridBoxXML()
    DynGUI::MultiBoxXML() & EndMultiBoxXML()
    DynGUI::SingleBoxXML() & EndSingleBoxXML()
    DynGUI::EmptyXML()

    DynGUI::ContainerXML() & EndContainerXML()
    DynGUI::FrameXML() & EndFrameXML()
    DynGUI::PanelXML() & EndPanelXML()
    DynGUI::TabXML() & EndTabXML()
    DynGUI::ScrollAreaXML() & EndScrollAreaXML()
    DynGUI::SplitterXML() & EndSplitterXML()

    DynGUI::ButtonXML()
    DynGUI::ButtonImageXML()
    DynGUI::CalendarXML()
    DynGUI::CanvasXML()
    DynGUI::CheckBoxXML()
    DynGUI::ComboBoxXML()
    DynGUI::DateTimeXML()
    DynGUI::EditorXML()
    DynGUI::ExplorerComboXML()
    DynGUI::ExplorerListXML()
    DynGUI::ExplorerTreeXML()
    DynGUI::HyperLinkXML()
    DynGUI::IPAddressXML()
    DynGUI::ImageXML()
    DynGUI::ListIconXML()
    DynGUI::ListViewXML()
    DynGUI::OptionXML()
    DynGUI::ScrollBarXML()
    DynGUI::SpinXML()
    DynGUI::StringXML()
    DynGUI::TextXML()
    DynGUI::TrackBarXML()
    DynGUI::TreeXML()
    DynGUI::WebXML()
    DynGUI::ScintillaXML()

_________________
Meine PureBasic-Projekte:
EasySetup - Setups für eigene Programme erstellen
___________________________________________
Windows 10 - 64Bit | PureBasic V5.61 & V5.3
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Module] DynamicGUI
BeitragVerfasst: 01.12.2017 16:16 
Offline

Registriert: 21.07.2017 22:36
Hi,

danke sehr für dieses tolle Modul!

Es gibt einen kleinen bug bezüglich der Funktion ButtonXML().
Sie funktioniert nicht korrekt, zumindest nicht, wenn man die
ID als Referenz benutzen will.

Ab Zeile 1703 beginnt die Prozedur und ihr fehlt der Eintrag für die ID.

Momentan:
Code:
  Procedure.s ButtonXML(ID=#PB_Ignore, Name$="", Text$="", Flags=0, Width=#PB_Default, Height=#PB_Default, Align=#PB_Default, Margin$="", ColSpan=#PB_Ignore, RowSpan=#PB_Ignore, XmlParam$="")
    Protected XML$ = "<button"
   
    SetParameterCurrentFont(ID, Name$)     ; Parameter: ID
   
    XML$ + GetParameterName(Name$)         ; Parameter: Name$


Ändert man es auf:
Code:
  Procedure.s ButtonXML(ID=#PB_Ignore, Name$="", Text$="", Flags=0, Width=#PB_Default, Height=#PB_Default, Align=#PB_Default, Margin$="", ColSpan=#PB_Ignore, RowSpan=#PB_Ignore, XmlParam$="")
    Protected XML$ = "<button"
   
    SetParameterCurrentFont(ID, Name$)     ; Setze Gadget-Font, wenn ActFontID <> #PB_Default
   
    XML$ + GetParameterID(ID)              ; Parameter: ID
    XML$ + GetParameterName(Name$)         ; Parameter: Name$


Funktioniert es auch mit der ID einwandfrei...

Siehst du evtl. eine Möglichkeit, Menüs / Toolbars innerhalb DynamicGUI mit unterstützen zu können?
Ich weiß, DynamicDialogs unterstützt das im Original nicht, aber der Programmierer scheint
MIA (missing in action) zu sein, so dass es nicht sonderlich viel Sinn macht, in dessen
thread noch danach zu fragen...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: [Module] DynamicGUI
BeitragVerfasst: 06.12.2017 12:25 
Offline
Benutzeravatar

Registriert: 04.02.2005 15:40
Wohnort: Kaufbeuren
Die Dialog-Befehlsbibliothek unterstützt leider weder Menü- noch Toolbar.

_________________
Meine PureBasic-Projekte:
EasySetup - Setups für eigene Programme erstellen
___________________________________________
Windows 10 - 64Bit | PureBasic V5.61 & V5.3
Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye