Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 11.09.2014, 20:11 Titel: |
|
|
!!! Bitte das Archiv einfach nochmal neu laden, und weitertesten, wenn stabil dann kommt die Version ins Portal !!!
@nemored:
Wow, der Karteneditor ist ein richtiger Stresstest für ComboBox und sGUI
Zitat: | Ich würde die ComboBox ja nicht nur bei Klick auf den Pfeil öffnen, sondern auch beim Klick auf das Textfeld (mir fehlen gerade die richtigen Begriffe).
|
dies sollte jetzt so funktionieren
Zitat: | Wenn die ComboBox geöffnet ist und ich auf den Pfeil klicke, würde ich erwarten, dass sie sich wieder schließt - stattdessen öffnet sich die Box nochmal, während ein Klick auf eine andere ComboBox lediglich die vorige schließt; etwas verwirrend. happy |
Die ist die erste Auswirkung dess Herausnehmens der aufbereiteten Variablen für Systemereignisse aus dem Eventhandle. Der "Klickvorgang" ist quasi
eine Sequenz die Durchlaufen werden muß (Hit->Hold->Release-Released), Der Selector ist ein unabhängiger Eventhandle mit eigenem
Loop, benutzt aber die selben globalen Variablen. Der kurze Abstecher in den Selector "zerstört" quasi die Sequenz.
Das ist jetzt gefixt. Wenn nicht weitere Probleme mit den globalen Variablen auftauchen, nach Murphy werden sie aber ......
Bei meinen Tests mit den Comboboxen die mir Vista hier so bietet habe ich festgestellt, das Ding was ich als Selector bezeichne verschwindet nur
wenn etwas ausgewählt wurde, oder ein Klick irgendwo außerhalb des Selectors. Dabei kann sogar ein völlig anderes Control angeklickt werden, dieses
reagiert jedoch nicht. Er sperrt auch den CloseButton. Mal sehen...
@Sebastian
Das Scrollbar (oder der,die ????) ist nun folgendermaßen geändert worden:
Die Größe der Pfeile sind leider fix.
Wird das Teil nun so klein, daß der Platz für den Container kleiner als 10px wird, werden die Pfeile weggelassen.
@Roland
naja, manchmal wird es wiederbelebt
Mutton |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4601 Wohnort: ~/
|
Verfasst am: 11.09.2014, 21:45 Titel: |
|
|
Muttonhead hat Folgendes geschrieben: | @nemored:
Wow, der Karteneditor ist ein richtiger Stresstest für ComboBox und sGUI |
Jetzt weißt du ja, warum ich die für so wichtig gehalten habe.
Wenn beim Klick auf ein neues Control erst die ComboBox geschlossen wird und noch keine neue Anwahl stattfindet, wäre das meiner Meinung nach nicht so schlimm. Du könntest dann eher Close-Button (und ggf. ESC) innerhalb des Controls auswerten und ggf. von dort aus direkt EXITEVENT setzen. Weiß nicht, ob das eine Option ist.
Zitat: | Das Scrollbar (oder der,die ????) ist nun folgendermaßen geändert worden:
Die Größe der Pfeile sind leider fix.
Wird das Teil nun so klein, daß der Platz für den Container kleiner als 10px wird, werden die Pfeile weggelassen. |
Wenn die Liste nicht größer ist als der angezeigte Bereich, könnten Pfeile und Scrollleiste eigentlich auch wegfallen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 192 Wohnort: Frankreich
|
Verfasst am: 19.09.2014, 09:19 Titel: |
|
|
Hallo Muttonhead!
Ich habe sGUI vom 18.09.2014 gesehen. Sehr hübsch! |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 19.09.2014, 14:22 Titel: |
|
|
Danke Roland
Ja, bezeichne es nun als Release der Version 0.8.4!
@nemored: der Karteneditor in folgender Kombination kompiliert ordnungsgemäß aber stürzt beim Start einfach ab:
FB1.00+karteneditor+aktueller sGUI aus dem Portal
mit FB0.9 scheint alles zu funktionieren
>ReadCards
Mutton |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 25.09.2014, 20:06 Titel: |
|
|
...Ich möchte nun wirklich nicht flamen: Ein paar Umstände machten es mal wieder
erforderlich, mich mit Linux auseinander zu setzen...
Und an einen bestimmten OffTopic Beitrag wollte ichs nicht hängen.
Hier ist mein Bericht:
Die Kombination aus DAU (in diesem Fall ich), einem alten schwachbrüstigen Rechner
und der aktuellen LUBUNTU / UBUNTU(jonglierte mit beiden) Version 14.04.1 schienen geradezu perfekt.
In eine Virtualisierung installiert wars zu langsam. Den Brenner raus (wer braucht schon zwei)
und eine alte 80GB IDE HD stattdessen angeschlossen (Fixierung via Teppichklebeband im Brennerschacht *hust*).
LiveDVD rein, nach reichlich Laden: schwarzer Bildschirm . War der virtuelle Rechner moderner als der Host?
Letztlich brachte F6 und einfach ein Sternchen an eine der Optionen (tatsächlich egal welche Option!) das LiveSystem zum erwachen.
...Bis man nach etlichen Neuinstallationen (auf beiden bootfähigen Festplatten war wohl mittlerweile je einmal Grub als Bootloader) und etwas Herumspielen im BIOS (das immer jene HD versucht hochzufahren, die den falschen Loader der vorherigen Installation hatte) ähhhm... einen LINUX Desktop in 640x480 sieht, können schonmal zwei Urlaubstage vergehen... Den DAU hatte ich schon erwähnt ?
Schnell den 640x480 großen Firefox aufgemacht und Google und die Ubuntu Gemeinde hilft einem weiter
mit einem Terminal, "xrandr" + diversen Optionen, auf immernoch selbiger Auflösung.Leider erfolglos .
Letztlich war einfach ein LINUX nvidia Treiber nachzuinstallieren.
Jetzt steht das System, inclusive FB + Geany, will nur noch in GRUB die MENÜ-Reihenfolge ändern.
Mutton |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 12.12.2014, 19:28 Titel: |
|
|
Im internationalen Forum schraubt derzeit Petan an einer stark gepimpten Version von sGUI herum und hat einen Fehler (neben anderen, deren Priorität ich anders einschätze) im Menüsystem entdeckt.
Dies betrifft die Kommandos MenuOn/Off()
Bei "regulärer" Benutzung der betreffenden Befehle sollte es normalerweise keine Probleme geben. Wer möchte kann das Bugfix an bekannter Stelle herunterladen.
PS:
da derzeit leider "nur" ein Report über Petans Veränderungen zu verfolgen ist, bezieht sich das aktuelle Bugfix lediglich auf mein letztes Release.
Mutton |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 18.12.2014, 13:59 Titel: |
|
|
Derzeit versuche ich das Menüsystem durch etwas Schlankeres zu ersetzen.
Das Archiv enthält ein Demo.
Mich würden mal Meinungen zu zwei Sachen interessieren:
*Bedienbarkeit, falls es als PullDown eingesetzt werden würde. Das "Klickverhalten" unterscheidet sich doch ein wenig vom "normal"
*Art der Erstellung des Menüsystems
http://www.muttonhead.homepage.t-online.de/data/sGUI_v0.8.44_preview.zip
Mutton |
|
Nach oben |
|
|
RockTheSchock
Anmeldungsdatum: 04.04.2007 Beiträge: 138
|
Verfasst am: 18.12.2014, 23:19 Titel: |
|
|
Ich habe sGUI bisher noch nie benutzt, aber ich hatte mal unter QB ein Menu geschrieben:
Da konnte man das Menü folgendermaßen erstellen:
Code: | CreateMenu "Menu3"
NewItem "Item1"
CreateMenu "Untermenu"
NewItem "Item1"
NewItem "Item2"
CreateMenu "Untermenu von Untermenu"
NewItem "Item1"
NewItem "Item2"
EndCreate
NewItem "Item4"
EndCreate
NewItem "Item3"
NewItem "Item4"
NewItem "Item5"
EndCreate |
Daran angelehnt konnte das folgendermaßen ausschauen, wobei der erste Teil ein bisschen als Erklärung dient
Code: | Namespace sGUI
'Dim mstack As Stack
Type Event extends Object
description As String
End Type
Sub DefaultListener(e As Event)
Print e.description
End Sub
Type callback As Sub(e As Event)
Declare Sub addMenu(title As String)
Declare Sub addItem(title As String, listener As Callback=@DefaultListener)
Declare Sub addCheckItem(title As String, listener As Callback=@DefaultListener,checked As Integer=0)
Declare Sub addSeperator()
Declare Sub EndMenu()
Type Menu extends Object
Public:
Declare Constructor()
Declare Constructor(title As String)
Declare Sub addItem(title as String)
End Type
Type ContextMenu extends Menu
Declare Constructor()
Declare Constructor(title As String)
End Type
Type Item extends Menu
Declare Constructor(title As String="")
End Type
Type CheckItem extends Item
Declare Constructor(title As String)
End Type
End Namespace
Using sGUI
Dim As ContextMenu m = ContextMenu("Context Menü")
addItem("Eintrag aktiv") 'neues item mit defaultcallback
addItem("Eintrag inaktiv",0) 'item ohne callback inaktiv
addCheckItem("Checkmark")
addCheckItem("Checkmark checked",,1)
addSeperator()
addMenu("Submenue aktiv")
addItem("Eintrag")
addItem("Eintrag")
addMenu("Submenue in Submenue")
addItem("Eintrag")
addItem("Eintrag")
EndMenu()
EndMenu() |
|
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 19.12.2014, 09:31 Titel: |
|
|
Danke Rock für die Syntax Inspiration, das schaut gut aus. Werd mich da mal anlehnen.
Mutton |
|
Nach oben |
|
|
RockTheSchock
Anmeldungsdatum: 04.04.2007 Beiträge: 138
|
Verfasst am: 19.12.2014, 14:29 Titel: |
|
|
Ich würde auf jeden Fall PullDown Menüs bevorzugen. Was auf jeden Fall fehlt ist die Tastaturbedienung. Ich erwarte von einer guten GUI mit der Tastatur bedienbar zu sein. Z.b. ist es unter Windows üblich SHIFT+F10 für Kontextmenü, Pfeiltasten zum navigieren, Enter zum bestätigen und evt. Kurztasten zu Menüpunkten als Option nutzen zu können. Grundsätzlich sollten aber alle Tastenkombinationen individuell gestaltbar sein. |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 06.06.2015, 18:32 Titel: |
|
|
nichts Weltbewegendes... mehr Kosmetik und nur ein Preview!!!
*ein Versuch mit BitmapFonts(vorzugsweise erzeugt mit Charset2FBFont). Für einige Controls habe ich dann doch einen fixed Font bevorzugt, die Rechnerei war mir zu viel...
*dadurch sind ein paar Parameter die vorher Zeichen/Zeilenzähler waren nun zu Pixelzählern mutiert
*da ich ein paar Speicherlecks entdeckt habe, werde ich nun doch alles zusätzlich allozierte Zeugs in Listen packen. das ist hier im Preview erst teilweise realisiert!!
Das Menüsystem wird wieder eingebaut, auf Basis des hier gezeigten Popup menüs
http://www.muttonhead.homepage.t-online.de/data/sGUI_preview.zip
viel Spaß beim Testen
Mutton |
|
Nach oben |
|
|
Roland Chastain
Anmeldungsdatum: 05.12.2011 Beiträge: 192 Wohnort: Frankreich
|
Verfasst am: 06.06.2015, 21:35 Titel: |
|
|
Schön! |
|
Nach oben |
|
|
Elor
Anmeldungsdatum: 12.07.2013 Beiträge: 205 Wohnort: Konstanz
|
Verfasst am: 25.03.2016, 14:40 Titel: |
|
|
Hab heute das BMPSimpleGadget aus probiert und nur ein schwarzes Fenster erhalten (FBC 64-Linux). Es gibt da wieder Inkompatibilitäten zwischen den Datentypen "Integer und Long" beim einlesen der Breite und Höhe. Das Laden mit "BLoad" Funktioniert aber! |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 25.03.2016, 15:01 Titel: |
|
|
@Elor:
generell kann ich sagen dass das "aktuelle Release *hust*" an etlichen Stellen nicht 64bit kompatibel ist.
Das lag damals einfach darin begründet kein entsprechendes OS benutzt zu haben.
muss mal sehen ob ich ne angepasste Version finde
... suchend...
in deinem Fall scheint es zu genügen die "sGUI_GadgetType.bas" anzupassen:
gadw und gadh as integer<32>
Code: | type Gadget extends node
event as _EventHandle ptr'Zeiger auf den EventHandle dem dieses Gadget bei Erstellung zugeordnet worden ist
sel as integer 'Gadget Selektion
over as integer 'Flag, wenn 1 >>> Maus ist überm Gadget
act as integer 'Gadget Aktivierung
posx as integer 'PositionX
posy as integer 'PositionY
gadw as integer<32> 'Gadgetbreite
gadh as integer<32> 'Gadgethöhe
caption as string 'GadgetText / Bezeichnung
Ctrl(15) as integer 'Steuerungsvariablen, je nach Gadgettyp unterschiedlich oder auch gar nicht genutzt
useextTO as integer 'wenn 1 dann benutzen alle TO_Routinen benutzen das in extTObject verlinkte Textobjekt
'Callbacks(?) sind es wirklich welche?
DoDraw as sub (gad as Gadget ptr) 'Platzhalter Zeichenroutine
DoAction as function (refgad as Gadget ptr, action as integer) as integer 'Platzhalter für Ereignis-Routine
DoUpdate as sub (gad as Gadget ptr) 'Platzhalter Update
'folgende "Objekte" gehören diesem Gadget, reservieren zusätzlichen Speicher und werden
'über den Destruktor des Gadgets wieder gelöscht
subevent as _EventHandle ptr
TObject as _TextObject ptr
Background as FB.Image ptr
Mask as FB.Image ptr
Unselected as FB.Image ptr
Selected as FB.Image ptr
'folgende Pointer sind Zugriffe auf externe Objekte
extTObject as _TextObject ptr'externes Textobjekt
gad(7) as Gadget ptr 'enthält bis zu 8 Pointer der Gadgets die dem SubEvent zugeordnet sind
'alte Vergleichswerte
oldact as integer
declare destructor
declare sub SaveBackGround
end type |
Mutton |
|
Nach oben |
|
|
Elor
Anmeldungsdatum: 12.07.2013 Beiträge: 205 Wohnort: Konstanz
|
Verfasst am: 25.03.2016, 17:32 Titel: |
|
|
Jetzt breitet sich bei mir gerade Verwirrung aus!? Also erst mal, es Funktioniert! Die frage ist aber warum? Also, die Variablen (Gadw und Gadh) in der „Gadget-Class“ hab ich jetzt, so wie von dir vorgeschlagen, in 32Bit-Integer umgewandelt. Die Bildbreite und Höhe wird aber in der „BMPSimpleGadget.bas“- Funktion „AddBMPSimpleGadget (...)“ so eingelesen:
Code: |
function AddBMPSimpleGadget (event as EventHandle ptr,PosX as integer,PosY as integer,fus as string,fs as string="",fm as string="") as Gadget ptr
function=0
…
if gad then
dim as Integer GadWidth,GadHeight, ff=freefile
open fus for binary as #ff
get #ff, 19, GadWidth
get #ff, 23, GadHeight
close #ff
....
|
Da es sich hier aber um Integer handelt, also 8Byte bei 64Bit-Systemen, müßte sich die Höhenangabe des Bildes im HighWord der Breitenangabe befinden!? Wie kommt also dieses HighWord in die Variable Gadh? Wenn ich es umgekehrt mache, also die GadWidth und GadHeight Variablen auf 32Bit setze, funktioniert es ja auch, was mir auch logischer erscheint. Ich hab zwar einen verdacht, behalte ich jetzt aber erst mal für mich, muss da erst noch was probieren, mit der sGUI hat das dann aber nichts mehr zu tun!
Edit: HighWord ist falsch, sind ja nur 2Byte, ich meinte da HighDWord! |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4601 Wohnort: ~/
|
Verfasst am: 25.03.2016, 18:31 Titel: |
|
|
Mir ist übrigens neulich aufgefallen, dass sGUI\ComboBox.bas folgende Includes enthält:
Code: | #include once "sGUI\MiniSelector.bas"
#include once "sGUI\ComboArrowDwn.bas"
#include once "sGUI\ComboBox_Basis.bas" |
Wenn der Ordner sGUI nicht im Stammverzeichnis liegt, sondern z. B. im Unterverzeichnis include\, oder sonst eine andere Ordnerstruktur gewählt wird, gibt das Probleme - allerdings scheint das die einzige Datei zu sein, die noch explizit auf den Ordner sGUI\ zugreifen will. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
Verfasst am: 25.03.2016, 19:07 Titel: |
|
|
@nemored: Oh... aber warum funktioniert das dann überhaupt? ein wenig irritiert... |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4601 Wohnort: ~/
|
Verfasst am: 25.03.2016, 19:22 Titel: |
|
|
Include-Dateien werden der Reihe nach im aktuellen Ordner der einbindenden Datei, im Ordner des Programms und im allgemeinen Bibliothekenordner gesucht. In welcher Reihenfolge weiß ich jetzt zwar nicht genau, aber die steht in der Referenz - es funktioniert auf jeden Fall dann, wenn im Hauptprogramm-Ordner der Unterordner sGUI\ liegt, oder aber ohne Pfadangabe, wenn die sich includierenden Dateien alle auf selber Ebene liegen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Elor
Anmeldungsdatum: 12.07.2013 Beiträge: 205 Wohnort: Konstanz
|
Verfasst am: 25.03.2016, 22:32 Titel: |
|
|
Ich hab noch mal herum experimentiert, wie der an die Höhendaten des Bildes kommt ist mir immer noch schleierhaft! Ich würde aber in jedem Fall nicht die internen Datentypen ändern, sondern diejenigen, die die Daten aus der Bitmapdatei lesen. Also GadWitdth und GadHeight in der Funktion „AddBMPSimpleGadget (...)“ (wer weiß was da noch alles kommt?). |
|
Nach oben |
|
|
Muttonhead
Anmeldungsdatum: 26.08.2008 Beiträge: 563 Wohnort: Jüterbog
|
|
Nach oben |
|
|
|