| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Feb 2010
Beiträge: 108
| Darstellung einer Initialisierungsphase in einer MDI-Anwendung
Hallo, folgendes Szenario: Ich habe eine Flex-Anwendung, die wie eine klassische MDI-Anwendung aufgebaut ist (Mehrfenstersystem). Die einzelnen Fenster/Dialoge können z.B. über ein Menü geöffnet werden (es wird dabei jedes Mal eine neue Instanz des zu öffnenden Dialogs erzeugt, der Dialog selber erbt von Panel). Je nach Art des Dialogs kann es sein, dass erst Daten von einem Webservice geholt werden müssen, die dann bspw. in einer Tabelle angezeigt werden, bevor der Anwender mit dem Dialog interagieren soll. Desweiteren können in diesen Dialogen auch Webservice-Aufrufe erfolgen. Da diese Aufrufe unter Umständen etwas länger dauern (0 bis < 10 Sekunden) würde ich gerne für diese Zeiten den Dialog für den Nutze "sperren" (es sollen in diesem Dialog keine Eingaben mehr möglich sein, Buttons nicht drückbar u.ä. und noch irgendetwas "zappelndes" (Sanduhr, Fortschrittsbalken, ...) angezeigt werden). Wie könnte man das am elegantesten lösen? Meine Idee ist mit States zu arbeiten. Der Default-Zustand ist der eigentliche Dialog und dann noch einen Zustand, der bspw. eine Box mit halbtransparenten Hintergrund und einem Fortschrittsbalken, der über einen Timer periodisch angesteuert wird, über den Dialog legt. Aber vielleicht hat ja noch jemand ganz andere Ideen oder Vorschläge zur konkreten Implementierung ![]() Mit ist zum Beispiel noch nicht ganz klar, wie ich es schaffe, dass die Box des neuen Zustands über dem Default-Zustand liegt und nicht einfach als Kind unten angehangen wird. |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Also, rein von der Implementierung der View gesehen, ist das mit den States so vollkommen ok. Dafür sind sie da.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #5 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Der BusyCurser ist aber dann für alle Fenster relevant. Wenn nun mehrere Fenster parallel arbeiten würde ich versuchen, den Fortschritt pro Fenster zu visualisieren.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #7 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Einigen wir uns darauf, dass es von der Spec abhängt, was man machen muss
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #9 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
In Flex 4 ist das gaaaaaanz anders Und wenn man das Handling von states vernünftig und nicht zu granular aufbaut, dann sind sie auch in Flex 2, 3 gut zu händeln.ViewStacks sind in großen Anwendungen hingegen eher unbrauchbar. Aber jeder nach seiner Fasson
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #12 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Ja, der enabled ist auch fixer in der Umsetzung.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Feb 2010
Beiträge: 108
|
Ich habe mich jetzt mal an der Umsetzung mit den States versucht. Im Grunde funktioniert es auch, nur einige Kleinigkeiten bereiten noch Probleme. Bisher leiteten sich die Dialoge aus Panel ab, wobei es eine Basisklasse gibt, von der meine konkreten Dialoge erben. Da für die Dialog-Entwickler (das muss nicht ich sein) das Sperren des Dialogs und alles was damit zusammenhängt transparent sein soll, sollte sich an diesem Handling auch nichts ändern. Aus diesem Grund habe ich mich für folgendes Gerüst entschieden:
Allerdings habe ich Probleme mit der Warte-Seite. Wenn ich z.B. die Breite und Höhe der Warte-Seite auf 100% setze zappeln immer die Scrollbalken (die Seite scheint mehr Platz haben zu wollen als im Innern des Panels verfügbar ist). Gleiches passiert, wenn ich die Styles top, left, right und bottom auf jeweils 0 setze (zudem es nicht funktioniert, wenn das Fenster Scrollbalken hat. Bereiche, die gerade nicht sichtbar sind werden nicht "verdeckt", wenn man zu diesen scrollt). Andere Variante ist die Breite und Höhe der Warte-Seite auf explizite Werte zu setzen. Dann ist aber das Problem, dass sich Größenänderungen am Dialog nicht auf die Warte-Seite auswirken (das müsste man aber über Binding in den Griff bekommen können). Allerdings finde ich das ganze alles etwas kompliziert, deswegen die Frage, ob es nicht auch einfacher geht? Der Dialogentwickler soll einfach von einer bestimmten Klasse erben und dort seine Dialoggeschichten reinschreiben, ohne Rücksicht auf irgendwelche Zustände und Co. nehmen zu müssen. Und die Warte-Seite soll dann bei Bedarf einfach über den Inhalt des Dialogs gelegt werden, so dass dieser halbtransparent durchschimmert (vlt. geht es ja auch mit Effekten, ...) und der Fortschrittsbalken einigermaßen zentriert ist. Ich hoffe, dass ganze ist einigermaßen verständlich formuliert. Ansonsten kann ich auch noch gerne Code posten. |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Feb 2010
Beiträge: 108
|
Ich habe jetzt erstmal eine Variante gefunden, die den gewünschten Effekt erzielt. Ich habe den halbtransparenten Hintergrund aus der Warte-Seite entfernt. Stattdessen setze ich beim Zustandswechsel auf die Warte-Seite das enabled-Property des Dialogs (also der Inhalt) auf false. Die Optik ist sehr ähnlich und ich muss mir keinen Kopp darum machen, ob der Hintergrund der Warte-Seite auch den kompletten Dialog bedeckt. Jetzt gibt es nur noch die kleine Unschönheit, dass beim Scrollen des kompletten Dialogs der Fortschrittsbalken nicht zentriert bleibt. Aber darum kümmere ich mich morgen. Ansonsten bin ich auch ganz Ohr für anderweitige Ideen, Vorschläge, ... |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Suche nach einer Anwendung | Schiggi | 3D | 0 | 27-04-2009 14:06 |
| Schließen einer Flash Anwendung abfangen? | Wassim | ActionScript 3 | 3 | 26-08-2008 02:05 |
| Aus einer AS1 eine AS2 Anwendung machen | karl_haeberle | ActionScript 2 | 1 | 04-09-2007 00:27 |
| Screensaver innerhalb einer Flash-Anwendung | stpi_flx | Flash 8 | 1 | 10-03-2007 15:32 |
| Nachgefaßt: Planung einer Flash-Anwendung | scrooge | Flash 4 und Flash 5 | 1 | 04-01-2002 09:36 |