Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ntui : Customview Rev 429
#21
Blackbird schrieb:Schade das ich nicht gleich an die Cboxwerte des Customviews rankomme wie beim Notify, jetzt geht die rumrechnerei los

ich habs jetzt so gelöst das ich per ntui_GetAttrByID{} mir die xpos und ypos des Views hole und die dann von den ermittelten mauscoords abziehe.

Ist halt dann immer um eins kleiner als die Bildgröße weil von 0-Width anstatt von 1-width...

Ist das geschmackssache was man im Label bei Pos anzeigt ? sollte ich +1 hinzufügen ?
Zitieren
#22
Ein Event ist nicht mit einem NTUI Objekt assoziiert. Es ist ja nur ein Event was aufgetreten ist. Das kommt irgendwann beim CustomView vorbei, aber möglicherweise auch bei vielen anderen Objekten. Wie soll es da Kooridnaten relativ zu einem Objekt berechnen? Der CustomView muss in seinem Dispatcher entscheiden, ob er das Event "konsumieren" will und reagieren oder ein Notify draus machen. Deshalb kann man ein Event nicht nach den "Content-Box Koordinaten" fragen. Ist aber trivial. Du muss ja nur die Koordinaten von der cbox abziehen, und die kennst du ja innerhalb der Dispatcher Methode.

Nachtrag:
GetAttrByID ist hier keine gute Idee, denn du willst ja die Koordinaten von garantiert dem CustomView, dessen Dispatcher gerade läuft. Korrekt (und auch viel effizienter) wäre einfach GetAttr{*customView,#TUIA_CBOX,&cbox.tuiRect}.
Wegen der Position: das Koordinatensystem fängt normalerweise bei 0 an. D.h. der rechte obere Pixel hat die Position 0/0.
Zitieren
#23
das klappt so nicht,wenn ich den aufruf ntui_GetAttr{*customView,#TUIA_CBOX,&cbox.tuiRect} im Dispatcher einfüge
bekomme ich bei allen cbox\xxx Werten 0, außer bei cbox\left, das hat -15xxxxxxxxxx fantasiewerte...

Mir geht das auch nicht in den Sinn warum ich nicht den einzigen Pictureview den ich habe nicht direkt abrufen soll per ntui_GetAttrByID...
Zumindest hatte das geklappt und zeigte die richtigen Werte an. Der einzige grund der mir einfällt ist, wenn man mehrere Picturewindows hätte,
und den Dispatcher an jeden hängt....

Zitat:Wegen der Position: das Koordinatensystem fängt normalerweise bei 0 an. D.h. der rechte obere Pixel hat die Position 0/0.

das hab ich doch geschrieben, das weis ich (0-Width). Ich dachte nur fürs Auge ist das ein bischen blöde wenn oben in der Titelzeile
320x240 steht, und unten im Coordinatenlabel dann 319x239 als letzte untere rechte Ecke...
Zitieren
#24
Mein Fehler:

Muss so heissen:

[ab3]ntui_GetAttr{*customView,#TUIA_CBOX,&*cbox.tuiRect}[/ab3]

Beachte den "*" vor *cbox.

Du solltest den Custom View nicht per ID holen weil du nicht irgendeinen CustomView meinst, sondern genau den der mit dem Dispatcher aufgerufen wird, egal was seine ID ist oder nicht ist.
Andernfalls untergräbst du das OO Prinzip und der Code wird dir früher oder später um die Ohren fliegen. Du willst ja auch vermutich mehr als einen CustomView betreiben.
Ausserdem bekommst du den ja frei Haus geliefert, also warum nochmal via ID holen?

Wegen den Koordinaten:
Programmierer würden auf jeden fall 0/0 - 319/239 bevorzugen. Designer vermutlich 1/1 - 320/240. Kannst du ja Konfigurierbar machen, musst ja nur bei der Ausgabe +1 machen. Internw illst du aber sicher mit 0/0 rechnen, da das so übrlich ist beim programmieren. Das kommt daher, dass Speicheroffset sich so berechnen. Sonst musst du immer 1 abziehen bevor du eine Speicheradesse berechnest oder AmigaOS Funktionen wie Text(), Draw(), RectFill() bentuzt.
Zitieren
#25
Hmpf. hätte ich auch selber draufkommen können das das ein Pointer ist....

Ok, im Dispatcher hast du natürlich recht, da lohnt ein ByID nicht wirklich, sorry mein Denkfehler...

Also ich sags nochmal, ich meinte wirklich nur die Ausgabe in den View mit +1 auf "Userfreundliche Angaben" zu erhöhen. Intern wird natürlich alles so gerechnet wie es soll (0,0), da hab ich auch gar keinen Bock drauf das so zu handeln wie bei PfP Wink

Edit:
Jo ! funktioniert nun prima wie es soll !
Zitieren
#26
Details, Blackbird, Details. Ich denke es sollten erstmal ein paar grundlegende architektonische Fragen geklärt werden, bevor du dich überhaupt an die GUI machst.
Also sowas wie: wie baust du die Verwaltung der Projecte/Layer etc. intern auf, auf wleche APIs willst du setzen, was ist deine Zielgruppe, soll es sich auf 8bit beschränken oder doch lieber gleich float pixel etc.
Vor dem schreiben der Alogrithmen wie Schärfen, Gamma, Contrast etc. musst du keine Angst haben, die kann ich dir alle liefern und sich auch nicht so schwer. Das organisieren eines "Projekts" ist das schwierigsts und wichtigste, weil es alles bestimmt was danach kommt, auch die GUI.
Zitieren
#27
Der Wanderer schrieb:Details, Blackbird, Details.


sicherlich nicht im Customviewfaden....
Außerdem h'abe isch gar keinen Plan und Details... Big Grin

Der Wanderer schrieb:Ich denke es sollten erstmal ein paar grundlegende architektonische Fragen geklärt werden, bevor du dich überhaupt an die GUI machst.

Einmal Hüh, einmal Hott, deine letzte Aussage zu Tincture war, das es gar nicht so verkehrt sei mit der Gui zu beginnen da kann man gleich Ntui testen...

Der Wanderer schrieb:Also sowas wie: wie baust du die Verwaltung der Projecte/Layer etc. intern auf, auf wleche APIs willst du setzen, was ist deine Zielgruppe, soll es sich auf 8bit beschränken oder doch lieber gleich float pixel etc.
Vor dem schreiben der Alogrithmen wie Schärfen, Gamma, Contrast etc. musst du keine Angst haben, die kann ich dir alle liefern und sich auch nicht so schwer. Das organisieren eines "Projekts" ist das schwierigsts und wichtigste, weil es alles bestimmt was danach kommt, auch die GUI.

Zu den meisten deiner Pukte kann ich nix weiter sagen im Moment...
Eigentlich hatte ich gedacht ich kann für alles die image.include (image_ex.include) nehmen (zumindest war das von dir mal angedacht das man die nehmen kann)
Zitieren
#28
Wie sieht das aus mit dem Binding im Customview ?
Machste das rein so wie du geasgt hast, oder muß man das dann selbst machen ?

Das mitziehen der Scroller beim zoomen habe ich nun schon selbst gemacht...
Nur muß ich dann eben auch in der anderen Richtung (also wenn man den Scroller bewegt) das Customview scrollen können.
Zitieren
#29
Hm... am besten wenn ich den CustomView anhand deines Code baue. Im Prinzip soll der CustomView ansich nicht viel selbst machen. Die funktionalität kommt von dir. Er hilft lediglich beim Scrollen, falls gewünscht. Ich schaue mal dass ich das im intern Demo korrekt mache.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste