amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Suche [ - Suche - Neue Beiträge - Registrieren - Login - ]

Erste << 8 9 10 11 12 -13- 14 15 16 17 18 >> Letzte Ergebnisse der Suche: 1662 Treffer (30 pro Seite)
AGSzabo   Nutzer

20.07.2011, 16:48 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

Mein xml parser unterstützt alles was holger aufgezählt hat. und auch regeln.

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

20.07.2011, 14:13 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

/> gibts auch in HTML, zB <img /> oder <br />. du tippst dann weniger ;) .
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

20.07.2011, 11:27 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Holger:

sorry, ibindum. ich schaue nochmal nach...
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

20.07.2011, 11:14 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

> Der Scroller legt dann beim Inisitlaisieren selbständig schon Arrow Buttons an und bindet sich damit.

Wie macht er das? Ich meine auf low level ebene ausgedrückt, kein self.bind oder sowas. also wie wird das ganz intern gehandhabt?

ps: achja, bei mir sind klassen tendentiell externe nachladesegmente. in der masterlibrary sind blos ein paar ganz allgemeine. das kann man aber ganz einfach umstellen, also eine klasse in die lib mit aufnehmen oder auslagern. es gibt auch funktionen wie MakeClass() um was ganz spezielles privates subclass zu erstellen zB.

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 20.07.2011 um 11:18 Uhr geändert. ]

[ Dieser Beitrag wurde von AGSzabo am 20.07.2011 um 11:20 Uhr geändert. ]
 
AGSzabo   Nutzer

19.07.2011, 22:49 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Dann gehst du doch über IDs beim binden. Angenommen, du möchtest eine Klasse aus zwei anderen Klassen bauen, deren objekte dann miteinander gebunden werden sollen. Das geht vermutlich garnicht über XML oder? Ich vermute, für diesen Fall hast du eine Funktion Bind(a,b)?
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

19.07.2011, 22:32 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Dann kann man aber nur binden, was schon erzeugt wurde, es ist nicht möglich ein objekt zur bindung mit einem anderen schon zur erzeugungszeit vorzubestimmen. In Beispiel, du kannst dem scroller nicht sagen, hänge dich an diese view wenn sie fertig ist, sondern erst wenn die view fertig ist, geht das. man kann ja nicht wissen in welcher reihenfolge die gui elemente erzeugt werden...
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 19.07.2011 um 22:34 Uhr geändert. ]
 
AGSzabo   Nutzer

19.07.2011, 22:22 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Oho. Dann nehme ich an, dass diese Events standardisiert sind, also nicht blos für eine oder zwei klassen gelten, sondern global definiert sind. Wie richtest du den ring ein? Über IDs? Da hab ich folgendes Problem mit: die Listview baut ihren Ring intern aus IDs auf, aber wenn der benutzer (app programmeirer) diese IDs - er sieht ja nichst von den internas der Listview - auch verwendet, kommt das system durcheinander.

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

19.07.2011, 22:09 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

> Wirklich? Gibts keine "Switches" die durch ihre blosse Anwesenheit etwas anschalten?

Nee, das ist vielleicht ein bischen blöd, aber es muss tatsächlich zB

samewidth="samewidth"

heissen, wenn du die angaben true oder false vermeiden willst und auch nicht on oder off oder so verwenden willst.

ich finde es mit true oder false gut gelöst.
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

19.07.2011, 18:59 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

Binding
-------

Kann bei dir ein objekt mit mehr als zwei anderen (next/prev) gebunden sein? Eine view müsste ja einmel ne verbindung zu einem h-slider und einen zweiten ring mit einem vslider haben. oder habe ich was übersehen?
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

19.07.2011, 17:25 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Das sowohl hgroup als auch vgroup mit /group beendet werden, finde ich etwas ungünstig.

> <vgroup title='Item Options' bordertype=7/>

sollte nicht mit /> beendet werden.

XML-konform müssten alle parameter in ".." stehen, aber das weist du sicherlich. (und samewidth müsste samewidth="true" sein oder änliches)
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 19.07.2011 um 17:28 Uhr geändert. ]
 
AGSzabo   Nutzer

19.07.2011, 16:49 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Hm, bin verblüfft. Gute Arbeit. Und mit Skin?
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

19.07.2011, 13:55 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

whoops, das gibt einem zu denken. kann man den gradient-slider borderless machen und den rahmen davon selber zeichnen? es ist der standard rahmen, den amiga os zur verfügung stellt. unter os 4 passt es.
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

19.07.2011, 11:38 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

> Sorry, aber das finde ich gräßlich und verletzt so ziemlich alle Regeln der GUI Kunst...

ohje, wo denn?

> Alleine der Austausch mit anderen Entwicklern bringt ja schon viel, wie du vielleicht selbst hier gemerkt hast.

Du kannst mit meinen Ideen was anfangen?
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

19.07.2011, 10:32 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Ich dachte garnicht so sehr an Amiga sondern an qt oder gtk oder was auch immer ubuntu jetzt benutzt. in einem interview haben die friedens verkündet, daß ihr reaction nimmer auf dem stand der dinge sei und dass sie vorwärtsschauen auf sachen wie qt zb. von mir aus können die auch ntui benutzen. dieses hdrec scheint wirklich supermächtig zu sein!

was mir schon immer gefallen hat, so wie er es mir vor etwa 20 jahren erklärt hat, war armin sanders mini-toolkit, daß er extra für sein programm Rap-Top-Cop geschrieben hatte. damals war mui auch gerade in den startlöchern, ich konnte mich aber nie damit anfreunden. es war langsam und schwerfällig und das configprogramm war überladen mit einstellungen die wohl kaum ein ernsthafter mensch wirklich braucht. die skins waren auch einfach nicht schön.

irgendeine windows lösung zu verwenden liegt mir garnicht. ich benutzte zum entwickeln fast nur den EUAE unter ubuntu, weil das so viel es will abstürzen kann und ich meinen favorite texteditor gedit nicht nach jedem absturz neu booten muss. gelegentlich teste ich es unter os4, das im bezug auf codefehler sehr 'streng' ist, aber auch einen guten debugger-output produziert. mensch das müsste ich endlich mal wieder machen. :)

ich bin von meinem skin sehr angetan, falls du noch nicht gesehen hast (?), hier ein altes beispiel: http://otaku.onlinehome.de/xuibig.jpg

wie könnte ich dich unterstützen? nur mal so rein ohne versprechen gefragt...

ps: ich habe gerade das mal in den news gefunden: http://www.amiga-news.de/de/news/AN-2011-01-00048-DE.html
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 19.07.2011 um 10:47 Uhr geändert. ]
 
AGSzabo   Nutzer

18.07.2011, 22:11 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

GUI hat mich immer fasziniert, seit ich mein erstes in Amigabasic geschrieben hatte. Da war das noch ein Programm, mit dem man etwas anfangen konnte, jetzt ist es blos noch die gui selber, die im fordergrund steht. ich denke state of art guis gibt es schon zu genüge und bezweifele ob man das noch besser machen kann. es hat für mich blos einen faszinations- und lern effekt. ich kann kein c und möchte, sofern ich die dinge nicht verstehe, auch nicht von meinem design - das ich naturgemäß gut finde - abweichen. wenn ich es verstanden habe, und ich glaube, daß es im grunde sehr einfach ist, mache ich es auch anders. über deine einladung lässt sich nachdenken, ich glaube aber, dass mir die vorraussetzungen fehlen. ich kann halt assembler. mit dem xml parser den ich neulich schrieb, bin ich wohl am nähesten zu dem gekommen wo die welt jetzt steht. bevor ich noch weiter in diese richtung gehe und wohlmöglich noch ein create-script oder sowas schreibe, kann ich aber auch gleich richtig c lernen. neee, halt mal, ich hab schon in java und javascript programmiert, das war möglich. Aber mit c .. ? ich hoffe wenigstens, daß meine ideen und amateurhaften fragen dir in irgendeiner hinsicht weiterhelfen.

> während der Benutzer einen eingefrorenen Mauszeiger sieht.

Es geht tatsächlich mehr als ich dachte. Bisher war ich versucht akribisch jede kleinste "zu viel" berechnung oder darstellung zu vermeiden, aber wanderer hat mich ermutigt, das gelassen und so einfach anzugehen. jetzt gibts bei mir zwei level: REFRESH und REDRAW. Letzteres zeichnet alles neun, zb wenn sich die koordinaten verändert haben, beim refresh KANN das gadget wisse, was zu tun ist, muss aber nicht. naja, beim layout ist es vielleicht ähnlich. zB pixelbreit eines textes nur berechnen, wenn der font sich geändert hat. aber die rechner heute sind sowas von schnell, da gibt es nie und nimmer eingefrorene mauszeiger. zumindest geht sicher mehr als du denkst.

> Aus Assembler oder Plain C Sicht kann es auch "überschreiben" oder "ersetzen" des Funktion Pointers nennen. Ändert nichts dran, dass es letzendlich das gleiche Konstrukt ist, nur anders formuliert.

Oder wie auf altlibrarianisch: patchen. :)

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 18.07.2011 um 22:18 Uhr geändert. ]
 
AGSzabo   Nutzer

18.07.2011, 21:22 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Tja, bei mir wird nichts programmatisch erstellt, sondern alles aus verschachtelten taglisten, die im prinzip die xml struktur wiederspiegeln. Und IDs kommen für mich wohl nicht in frage, weil ein macro-objekt wie eine scrollview, die aus einer view und zwei scrollern besteht, nicht einfach irgendwelche IDs vergeben darf, die der benutzer wohlmöglich auch gernde vergeben würde. es wäre gut, wenn man irgendwie die suche nach IDs des benutzers um die interna des scrollviews herum blocken könnte, dann kann die scrollview aus voller freiheit schöpfen?

ps: daneben ist es aber auch bei mir möglich, die gui oder teile davon programmatisch zu erstellen. zb nutzt dies das fenster um sich das menu und eine toolbar zu generieren. davon merkt die app nichts, auch wenn sie ihre gui die dann ins fenster kommt aus taglisten erstellt.

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 18.07.2011 um 21:35 Uhr geändert. ]
 
AGSzabo   Nutzer

18.07.2011, 18:45 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

Wie bindet man die Objekte?

In den Radiobuttons habe ich es so gelöst, daß man jedem Radiobutton beim erzeugen eine RING-ID mitgeben kann. Die radiobutton klasse sucht sich die buttons mit der selben ring-id aus dem ganzen gui heraus und hällt es so, dass davon immer nur einer gedrückt sein kann.

das ist aber imo nicht gut, der app programmierer muss eine übersicht über alle IDs halten.

Im Falle von der View und dem Slidern wäre es das beste, wenn man den objekten schon zur erzeugungszeit einen pointer auf das gebundene objekt mitgeben kann. das geht aber nicht, weil man schließlich nicht riechen kann, welches objekt zuerst erzeugt wird, da kann höchstens eine neue klasse wissen, welche die scrollview aus den unterobjekten scroller und view erstellt. daher habe ich mir einen mechanismus wie folgt ausgedacht: ein spezielles tag "OX_RELPTR" bewirkt beim erzeugen, dass der pointer auf das gerade erzeugte objekt an die adresse "base"+tag_data geschrieben werden soll. "base" ist ein zeiger auf einen beliebigen buffer, den man beim erzeugen der objekte mitgeben kann. Zb die globalen eines programms, oder die datenfelder der scrollview, die dort die zeiger von scroller und view sammelt. es gibt nun ein gegenstück zum OX_RELPTR tag, das bewirkt, daß ein zeiger von einem offset gelesen wird. wohin, das entscheidet die klasse zu der das lesende attribut gehört. der eine setzt also den zeiger, der andere setzt sich selber einen zeiger auf diesen zeiger und ließt daraus wenn alles fertig ist...

wie würdest du es machen oder hast es gemacht? dein binding scheint sehr anders und noch einfacher zu funtkionieren... man möchte ja nicht blos eine verbidnung von a nach b haben, sondern auch von b nach a und zu d und c!
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 18.07.2011 um 18:50 Uhr geändert. ]
 
AGSzabo   Nutzer

18.07.2011, 18:27 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

In MUI ist ein Notify auch das, was ich will mir der Liste und dem Slider. An sonstens bräuchte ich nach deiner Erklärung erst recht kein Notify, weil bei mir alles über Callback Hooks funktioniert. Die App bekommt blos das, wo sie ihre Hooks eingetragen hat. Zb wird für einen Button beim erstellen des gui ein attribut BA_hook gesetzt...
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

18.07.2011, 17:33 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

> Ein Button kann dann, falls ein Notify Wert gesetzt ist, eine Notify Message generieren wenn er merkt dass er geclickt wird.

Aha. Ich frage mich, wie das programmiert wird. Aber offenbar brauche ich das für die scrollview garnicht, weil es mit Binding funktioniert oder funtionieren könnte, wenn ich will. Trotzdem würde ich gerne wissen, wie das Notify intern ausschaut. Ich habe mir überlegt, das objekt welches Notify unterstützt, hätte einen Liste mit den zu notifizierenden Attributen und Werten oder so und ruft, wenn es ein attribut ändert eine masterlibraryfunktion auf, mit dem attribut und dem wert und einem zeiger auf sich objekt selbst, diese funktion geht dann die liste durch und informiert das zielobjekt wie gewünscht. der nachteil ist, oder scheint mir zu sein, dass das sendende objekt für jeden wert, den es notifizierbar machen möchte, an allen möglichen stellen wo der wert geändert werden kann, diese funktion aufrufen muss. außerdem weis ich nicht, ob man so einen ring vermeiden kann. vielleicht indem man empfangene wertändeurngen generell nicht weiterleitet, nur sendet. das ist aber schlecht für das userprogramm weil es dann alle betroffenen objekte selbst ändern müsste.

ein binding habe ich übrigens bereits: für das next/pref objekt beim drücken von der Tabulator-Taste.

> Ich überlege z.B. gerade, ob ich den Tab eines Tabview nicht auch als Gruppe organisiere,

Das ist durchaus überlegenswert. Die Frage die sich mir dabei stellt, ist, das wenn sich diese gruppen in der standard childsliste befinden, woher weiss dann die tabsklasse welches welches ist und wo. bei mir habe ich tabs so programmiert, das nur das innere content child des _aktive_ tab in der standardliste hängt und beim clicken eines anderen tab ausgetauscht wird. zudem gibt es eine liste mit allen tabs, da stehen im moment auch die zeiger auf die titeltexte drin. Ich glaube, da könnte man auch die zeiger auf dies gruppen die du meinst, eintragen. es gibt aber auch gründe dafür, dass diese gruppen zusätzlich in der standardliste sein müssen, damit nicht die tabsklasse bestimmte messages usmtändlich an diese gruppen weiterleiten müsste.

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 18.07.2011 um 17:52 Uhr geändert. ]
 
AGSzabo   Nutzer

18.07.2011, 08:19 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

> Pew! Macht das Sinn für dich soweit?

JA, danke, fast genauso löppt es schon bei mir mit den (maus)events. Ich habe blos die intuimessage struktur beibehalten und um ein langwort für meine Zwecke erweitert. Und es geht immer alles an das window, es seiden, das applikatinsobjekt, daß den "collectevents" mechanismmus enthält, kann oder will es selber verwalten, was aber imo bei mir noch nicht passiert. Und ein Popup menu kann noch nicht objekte enthalten, sondern ist eine eiheit. Mein Interesse gilt da noch der Strategie bei Mausklicks in views in views. man muß da ja nicht nur fragen, ob die maus über einer view ist, sondern auch eine zweite, die sich mit der ersten überschneidet, muss die mögliche fläche mit eingrenzen. naja, das schaffe ich schon noch.

Aber wie ist es nun mit dem Notify? Das interessiert mich am meisten.

Und zum "überladen" von Funktionen: meine subclass könnte auch die message immer zuerst bekommen und wenn sie will dann noch hinterher oder vorher den dispatcher der elternklasse aufrufen. so spart man sich die evtl vielen funktionspointer. so kann man Zb auch einen Slider um pfeilebuttons erweitern, oder? naja, ist nicht ganz das selbe wie das was du da hast... bei dir kann man ja sogar pro objekt andere funktionen haben..
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 18.07.2011 um 09:22 Uhr geändert. ]
 
AGSzabo   Nutzer

17.07.2011, 12:35 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Danke, das mit dem RastPort habe ich teilweise, das mit dem Überladen garnicht verstanden. Ich möchte ja ein Notify haben. Und weisst du auch, wie man die mauskoordinaten filtert, damit sie immer an dasjenige view gehen, über dem man gerade ist?

Ich habe gerade ein wenig nachgedacht, wegen der maus: system schaut nach, ob die maus im obersten view ist, wenn nicht, überlasse die maus dem höheren element. wenn schon, schaut es nach, ob die maus im nächstunteren view ist. wenn nicht, überlasse die maus dem höheren view. ist das gut? ich weis nicht, ob das auch funktioniert, wenn ein objekt den focus hat und dann (bei mir) messages direkt vom fenster empfängt, ohne dass sie durch den baum gehen, und aber in den baum durch lässt, wenne s sie nicht konsumiert.

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 17.07.2011 um 12:49 Uhr geändert. ]
 
AGSzabo   Nutzer

16.07.2011, 21:39 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

Und um das Ganze ab zu runden, sollen schließlich die slider mit der view und umgekehrt kommunizieren können. ich habe mal im mui handbuch nachgesehen, wie sowas von user's seite aus sieht. aber wie programmiert man das?

http://www.sasg.com/mui/autodocs/MUI_Notify.html#MUIM_Notify

Wie wird es gehandhabt, daß ein slider, der beim moven mit der maus sein eigenes attribut intern ändert, das an jmd weiterleitet? muß er selber in einer notifikationsliste nachsehen und die dort eingetragenen methoden aufrufen, oder langt es, wenn er das dem system überlässt? was mich ein bischen stört, daß ich in einem objekt für jede änderung einen code einbauen muss, der das abfängt und irgendwie weiterleitet. kann man das nicht irgendwie global handhaben?

Und wenn ein SetAttr() vom userprogramm auf ein objekt ausgeführt wird, auch dann müsste man den weiterleitungsmechanismus anleiern ... in dem fall könnte das die SetAttr() funktion selber handhaben, die in der notify-liste des objekts nachschaut und von dort an dritte weiterleitet?

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 16.07.2011 um 22:02 Uhr geändert. ]
 
AGSzabo   Nutzer

16.07.2011, 17:56 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

Das clippen der view und damit - wer hätte es gedacht - des gesamten OX-Systems funktioniert jetzt perfekt. Nun kommt das filtern von Mausevents dran. Es soll nur diejenig view Mausevents erhalten, über der sich die Maus gerade befindet, ausgenommen wenn die taste schon gedrückt wurde und während dann die maus bewegt wird, soll das gewählte objekt weiterhin mousemoves und buttonups erhalten. zwei schwierigkeiten sind dabei zu meistern: hat zB ein button den fokus, werden alle messages - im jetzigen system - direkt an diesen button geleitet. dadurch erhält er zwar auch mousemoves außerhalb der view, ist dann aber auch außerhalb der view - da wo er nimmer zu sehen ist, clickbar. Und zweitens, wenn eine view in einer view ist, müsste die höhere view erstmal die tiefere fragen, ob die maus über der tieferen ist? wie kann man das alles machen?
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

16.07.2011, 14:09 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

> Wegen dem RastPort beim Layout... den hole ich mir immer durch hochlaufen zum Fenster.

Woher weiss ein Widget, welches Objekt schließlich das Fenster ist?
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
AGSzabo   Nutzer

15.07.2011, 22:38 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Holger:

Kapier ich nicht was der Unterschied zwischen Layout und Größenänderung sein soll oder ist. In beiden Fällen gibts neue coordinaten oder neues width/height?

Ich hab noch ein neues Problem mit den Layers: ab der zweiten Installation eines neuen cliprects (das erste geht gut), wartet der amiga 8 sekunden bis das fenster nach einer größenänderung neugezeichnet wird. im emulator tritt dieses problem nicht auf.

ich habe schon ausprobiert, statt einer statischen regionstruktur, in die ich hineinschreibe, mal NewRegion/OrRectRegion/DisposeRegion zu verwenden, das hat aber nichts gebracht. :( (da ich immer nur 1 clipbox habe, also immer nur einen rechteckigen bereich als maske, enthält meine region auch immer nur 1 rectangle, das kann man statisch lösen)

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 15.07.2011 um 22:44 Uhr geändert. ]
 
AGSzabo   Nutzer

15.07.2011, 17:15 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Holger:

> reservierst Du von Anfang an so viel Platz für die Tabs, dass auch nicht sichtbare Tabs Platz hätten?

ja.


> An sich ist doch ein Objekt on-screen, wenn es (und alle seine Parents) visible und der Root ein Fenster ist, dass tatsächlich geöffnet ist. Diese Eigenschaft ändert sich doch nicht durch layouten.

hmmm, genauso ist das bei mir.


> Klar brauchst Du solche Informationen auch für andere Operationen als das Zeichnen. Trotzdem sind das alle Operationen, die somit diese Informationen als Parameter übergeben bekommen können. ... Ein Balance-Widget bekommt seinen Kontext von oben, ...

Die Frage war, wenn der rastport für die fontgröße NUR vom fenster aus mit der layout-message mitgeschickt wird, kann kein kind selber das layout seiner kindeskinder ändern .. bzw müsste dazu auch den rastportzeiger schon haben ...


> Schreib doch neue Sachen in neue Beiträge, statt einen alten mehrfach zu editieren.

Es gibt tatsächlich foren, wo das 'verboten' ist ("sonst fliegst du raus" etc)

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 15.07.2011 um 17:16 Uhr geändert. ]
 
AGSzabo   Nutzer

15.07.2011, 13:18 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

der rasport ist nicht an zwei orten. jedes objekt hat lediglich einen pointer auf die drawinfo und da ist dann der rastport auch drin. die drawinfo gehört zu window und gibts nur einmal. etwas vom window zu erfragen setz vorraus, daß das widget die windowaddresse kennt. da kann ich gleich nen zeiger auf ne ganze drawinfo an alle senden ... das wird intern gehandhabt, der dispatcher brauch das nicht zu machen (kann er aber wenn er will in einigen ausnahmefällen).

so komfortabel mit dem visible brauche ich es garnicht ... ich hab nur ein flag und das zeigt ob das objekt on screen ist. das führt zu vielen vorteilen und wird vom system gesetzt so wie es das fenster und sie klassen wollen. ein unsichtbares objekt das zwar platz einnimmt ... wofür?

übrigens, ich habe ein "pages" widget, das kann multiple inhalte an der selben stelle, von denen im layout der größte genommen wird und von denen nur einer an der front sein kann. die anderen werden dann der funktion SetVisible(false) übergeben.

ps: was ist mit einem popup-menu? es ist nicht on screen und will trotzdem sichtbar sein und auch mausklicks erhalten und mehr. darf ein popup menu im objektebaum mit drin sein? wie geht das dann?

pps: wenn du den rasport mit dem layout misenden willst, müsste das layout auch immer von ganz oben kommen. ein balance-widget kann es nicht selber nur an seine beiden childs senden ... oder?

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 15.07.2011 um 13:33 Uhr geändert. ]

[ Dieser Beitrag wurde von AGSzabo am 15.07.2011 um 13:35 Uhr geändert. ]
 
AGSzabo   Nutzer

15.07.2011, 07:25 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Der_Wanderer:

Ok, ich habe es jetzt so mit einem VISIBLE-bit. Aber was ist, wenn ich nachträglich, im laufenden Betrieb zB neue tabs anfügen möchte? die objekte in den neuen tabs haben noch keinen oxDrawInfo-pointer in sich (nicht verwechseln mit der amiga os drawinfo), da ist zB der RastPortzeiger drin. Jetzt habe ich es so, das beim späteren anhängen von objekten diese auch den drawinfo-zeiger zugesandt bekommen (und dann auch nochmal ein Init()), und zwar von der klasse an deren objekt angehängt wird. geht es auch eleganter?

Wenn man den Rastport nur zum zeichnen benötigen würde, täte ich ihn mit der DRAW methode mitsenden, aber ich brauche ihn, und auch den windowzeiger auch anderswo als nur beim zeichnen...

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 15.07.2011 um 07:29 Uhr geändert. ]
 
AGSzabo   Nutzer

14.07.2011, 18:22 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

@Holger:

Das Delegieren gestaltet sich bei mir ein wenig kompliziert. Man muß schon wissen, was zu delegeiren ist, wie und an wen. Wenn man neue features in das system einbaut muss die delegierde klasse auch um dieses features delegierend erweitert werden?

Die Objekte der nicht sichtbaren tabs werden in der deinit() routine des tabs disposed.


ps: ich habs jetzt so am ändern, dass das system schon weiss, wann es was delegieren muss. das entspricht dem VISIBLE bit. invisible objekte erhalten keinen user input und auch noch einige andere sachen nicht.

--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 14.07.2011 um 20:25 Uhr geändert. ]
 
AGSzabo   Nutzer

14.07.2011, 17:52 Uhr

[ - Direktlink - ]
Thema: OOP-GUI Systeme und Content-Clipping
Brett: Programmierung

An Der Wanderer:

Wie machst du es im Fall von Tabs-Gadgets, wo immer nur 1 Inhalt (subobjektebaum) an der front ist? soll ja nur einer der mehreren gezeichnet werden. ich mache es so, dass ich immer nur den aktuellen tab-inhalt in die childsliste einhänge. und wenn ein anderes tab geklickt wird, hänge ich das aktuelle raus und das neue rein. gehts besser oder einfacher?
--
Sam mini os4.1 upd. 2 / e-uae 39bb2 / A4000D 3.0 & 3.9 2mbchip 8mbfast Ariadne_II ide DVD und HD / A500 3.1 (mkick) adide 50mb / Athlon ii X2 Ubuntu Linux
 
 
Erste << 8 9 10 11 12 -13- 14 15 16 17 18 >> Letzte Ergebnisse der Suche: 1662 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.