Aktuelle Zeit: 01.12.2020 08:29

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 183 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6 ... 19  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 14:19 
Offline
Benutzeravatar

Registriert: 01.04.2007 20:18
das ist weder ein bug, noch generelles XML Dialog Verhalten.
Das ist schlicht und ergreifend das SplitterGadget und das Resize von ihm. Das kann man leider nicht
so wirklich abstellen.

Allerdings hatte Eddy im englischen Forum ein eigenes CanvasSplitterGadget vorgestellt, das nahezu frei von diesen Artefakten war.

_________________
PureBasic 5.72 LTS (Windows x86/x64) | Windows10 Pro x64 | Z370 Extreme4 | i7 8770k | 64GB RAM | iChill GeForce RTX 2080 Super | HAF XF Evo​​


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 14:22 
Offline

Registriert: 21.07.2017 22:36
Alles klar, danke für die Aufklärung!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 14:23 
Offline
Benutzeravatar

Registriert: 25.01.2005 12:19
Drag 'n drop mit ListIconGadgets, ListViewGadgets und TreeGadgets auf MacOS funktioniert übrigens seit der Umstellung vom Carbon- auf das Cocoa-Framework in PB 5.00 nicht mehr. Es gibt dazu diese Fehlersammlung von fsw, in der Fred schon 2013 schrieb:
Fred hat geschrieben:
Cocoa drag'n'drop model is not fully compatiable with PB model, I don't know how to work around it (for now).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 14:40 
Offline
Admin

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
@Shardik
Das hast du glaube ich falsch verstanden.
Es ging darum, mit Hilfe der Handle-Nummer die Index-Nummer des ersten sichtbaren Eintrages zu ermitteln. HeX0R verwendete nicht ohne Grund die Konstante #TVGN_FIRSTVISIBLE.
Meinen Code habe ich nur beispielhaft in den Case-Block eingefügt. Das funktioniert natürlich nur per Klick und Tastatur. Das war aber nur ein Beispiel.

Shardik hat geschrieben:
Ich habe daher einmal ein eigenes Beispiel erstellt, das für alle Einträge das ItemHandle ermittelt und aus dem ItemHandle den Index. Und auch für gerade nicht sichtbare Einträge wird der korrekte Index ermittelt:

Aber das ist nicht das, was HeX0R haben wollte?
HeX0R hat geschrieben:
Wie kann ich denn aus einem TreeItemHandle den Index ermitteln?
Code:
Protected TreeItemHandle
TreeItemHandle = SendMessage_(GadgetID(DID("tree_objects")), #TVM_GETNEXTITEM, #TVGN_FIRSTVISIBLE, #Null)
For i = 0 To CountGadgetItems(DID("tree_objects")) - 1
   If GadgetItemID(DID("tree_objects"), i) = TreeItemHandle
      Break
   EndIf
Next i


Wenn man seinen Code anschaut, will er nicht, die Index-Nummer jedes sichtbaren Eintrages haben, sondern nur die Index-Nummer des ersten sichtbaren EIntrages:
Code:
TreeItemHandle = SendMessage_(GadgetID(DID("tree_objects")), #TVM_GETNEXTITEM, #TVGN_FIRSTVISIBLE, #Null)


Sonst hätte er nicht folgende Abfrage geschrieben:
Code:
If GadgetItemID(DID("tree_objects"), i) = TreeItemHandle


D.h. er vergleicht die Handle-Nummer des ersten sichtbaren Eintrages mit allen Einträgen. Da er nicht wusste, wie man es macht, hat er eine Schleife gebaut. Er wollte es gerne kürzen bzw. direkter ermitteln.

So habe ich das verstanden.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 14:51 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Genau!
Das Problem ist ja, dass ich im DropCallback nur y Werte habe, die beim ersten sichbaren Eintrag des Treegadgets beginnen.

_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 16:18 
Offline
Benutzeravatar

Registriert: 25.01.2005 12:19
OK, Ray. Dann war Dein Beispiel ja doch das Richtige. Vielen Dank, dass Du Dir die Mühe gemacht hast, mir das noch einmal haarklein zu erklären... :allright:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 19:41 
Offline

Registriert: 25.03.2013 09:59
Hallo,
folgende Linux-Unzulänglichkeit könnte einem ebenfalls unterkommen:
Manche Installationen selektieren bei Erhalt des Fokus in StringGadget/GtkEntry (SetActiveGadget(Gadget)) den gesamten Text per default.

Ist man bei Eingaben zu langsam, bekommt das Demo-Window den Fokus, wird upgedatet und das vorherige Eingabefeld bekommt den Fokus zurück - jetzt vollständig selektiert und man überschreibt die bisherige Eingabe und alles beginnt von vorn :evil:
Originelle Foltermethode, die man nur mit 'nem Sekretärinnenkurs übersteht ;-)

Zusätzlich folgender ImportC:
Code:
g_object_set(*object.GObject, property_name.p-utf8, *data, value= 0)
und folgende Routine bei Programmstart müßte dieses Problem beseitigen:
Code:
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
  g_object_set(gtk_settings_get_default_(), "gtk-entry-select-on-focus", #False)
CompilerEndIf

Gruß, Charly

_________________
PureBasic Linux-API-Library: http://www.chabba.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 22:07 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Na toll, das Linux wird langsam anstrengend...
So, ich habe jetzt:
1.) Kiffis Fehler beseitigt (musste die ganze BuildUpTree() Prozedur neu machen, aber eigentlich nur, weil ich die glaube ich im Vollsuff erstellt hatte...)
2.) RSBasics Windows API eingebaut
3.) Omis letzte Erweiterung eingebaut
4.) Die Menüs etwas anders angeordnet, jetzt sieht man gleich, welcher Container nur ein Element beinhaltet
5.) Fehlendes "Page"-Attribut hinzugefügt
6.) Fehlende Attribute der ScrollArea eingebaut.
7.) Windows-Pos und Slider-Pos werden nun gespeichert für den nächsten Start.

So, ich habe ziemlich viel verändert, wahrscheinlich auch ziemlich viele neue Bugs platziert :)

Was das SplitterGadget betrifft:
Ich weiss, dass es suboptimal aussieht, aber mal ehrlich: Wie oft muss man den denn verschieben?
Ich lasse das alles mal so, vielleicht haben wir ja in PB 12.7 dann ein flickerfreies SplitterGadget...

_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 22:22 
Offline

Registriert: 21.07.2017 22:36
Zitat:
Was das SplitterGadget betrifft:
Ich weiss, dass es suboptimal aussieht, aber mal ehrlich: Wie oft muss man den denn verschieben?
Ich lasse das alles mal so, vielleicht haben wir ja in PB 12.7 dann ein flickerfreies SplitterGadget...

Kein Problem, ich war nur neugierig...

Könntest du mir bitte einen Gefallen tun und beim Programmstart checken ob die settings.prefs bereits
im aktuellen Verzeichnis der .exe Datei liegt und diese dann von dort aus einlesen (und natürlich unter
%APPDATA% kein Verzeichnis erstellen)? Wenn du möchtest mit dem zusätzlichen check, ob das
aktuelle Verzeichnis UAC protected ist und die .exe nicht mit Adminrechten gestartet wurde. Dann müsste
eine geänderte .prefs Datei natürlich unter %APPDATA% abgelegt werden. Stichwort Portabilität...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: DialogDesign0R V1.02
BeitragVerfasst: 07.03.2018 22:33 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Erledigt.
Starte einmalig mit /portable

Omi hat geschrieben:
Ist man bei Eingaben zu langsam, bekommt das Demo-Window den Fokus, wird upgedatet und das vorherige Eingabefeld bekommt den Fokus zurück - jetzt vollständig selektiert und man überschreibt die bisherige Eingabe und alles beginnt von vorn :evil:
Originelle Foltermethode, die man nur mit 'nem Sekretärinnenkurs übersteht ;-)

Langsamtipper können übrigens auch #Update_Interval erhöhen.

_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 183 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6 ... 19  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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