Linke Seite(Character/Dialogerstellung)
4 verfasser
Seite 1 von 1
Linke Seite(Character/Dialogerstellung)
Hier alles rein was den linken Bereich betrifft.
Tobias Stein- Anzahl der Beiträge : 88
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
Die Listbox im Characters Tab hat SelectionMode "Extended", dadurch werden beim hintereinander hinzufügen von neuen charakteren alle nacheinander markiert. Ich weiß nich genau was das Extended macht, aber wenn ihr hier Single verwendet, wärs glaub ich besser.
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
in der linken Seite bei der Charakterliste habe ich nun CheckMarks hinzugefügt (eigentlich ComboBoxen), die erscheinen wenn ein Charakter ausgewählt wird. Außerdem werden die Felder Grau, die nicht gewählt sind. Hinzu kommt noch ein Tooltip für den Charakternamen.
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
soweit so gut. Wie wäre es, wenn der Checkmark in ausgegraut auch vorher zu sehen ist? (so dass der eindruck entsteht, dass da was inaktives ist, was man aktivieren kann). Sonst heißts hinterher wieder, das is nich ersichtlich ist, dass die Charaktere by default NICHT involved sind....
Ansonsten sehr schön, auch mit dem ausblenden der Combobox und dem texttrimming im textfeld
Ansonsten sehr schön, auch mit dem ausblenden der Combobox und dem texttrimming im textfeld
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
ist angepasst
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
wow bist du fix. sieht gut aus. das einzige bei dem ich mir nich sicher wäre is, dass die Zeile sich grau/weiß verfärbt, aber ich schätze das is reine geschmackssache und macht denke ich für den augenfokus keinen unterschied...
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
ha eine sache noch
die pcCheckBoxChar braucht noch
damit die sich am Viewmodel bindet... (das is mir schonmal aufgefallen, habs nur immer wieder vergessen )
die pcCheckBoxChar braucht noch
- Code:
IsChecked="{Binding PC}"
damit die sich am Viewmodel bindet... (das is mir schonmal aufgefallen, habs nur immer wieder vergessen )
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
ich hab bei der autosave klamotte weitergemacht. bitte alle mal testen, wie immer.
Problem auf das ich bisher noch keine gute Antwort habe:
Wenn man nen Charakter selektiert/deselektiert, wird noch nich geauto-saved. Wenn jemand eine gute Idee hat, wie wir das fixen immer raus damit.
Bisher weiß ich: Es gibt bei der Listbox ein SelectionChanged event. Das könnte man (wenn auch nich ganz elegant) an die speichermethode binden. Leider wird das auch immer aufgerufen, wenn sich die Charakterliste aktualisiert, was innerhalb der update methode passiert -> schöne schleife...
vielleicht gibts noch ne einfachere methode, die besser funktioniert, zB wieder der lostfocus oder so...
Edit: Ich will das jetz noch nich einchecken weils noch ein paar andere nebeneffekte gibt... aber ich hab mal mit dem LostFocus des Grids gespielt und das auf folgende Methode im Codebehind verweisen lassen:
Das ist leider kein sauberes MVVM mehr, da jetzt der codebehind der view eine Methode des VM direkt aufruft, leider fällt mir da gerade nich viel besseres zu ein. Ich werde versuchen übers Wochenende die Autosave sachen soweit es geht fertigzukriegen. Diese methode hat aber einen Vorteil:
Da der Titel (respektive der Name bei Charakteren) von all den editierten sachen das einzige ist, was woanders angezeigt wird, reicht es auch wenn wir nen autosave genau DAFÜR machen (beim verlassen des textfeldes übernehmen, damit dann alles andere updated).
Was den ganzen rest angeht, reicht es wenn wir darauf reagieren
A: Wenn das gesamte projekt gespeichert wird
B: Wenn ein anderes Objekt ausgewählt wird oder der tab wechselt (das wäre mit dem Lostfocus ding abgedeckt).
Darum denke ich darüber nach das bei der charakterklamotte genauso zu handlen... ich denk ich schlaf nochmal ne nacht drüber
Problem auf das ich bisher noch keine gute Antwort habe:
Wenn man nen Charakter selektiert/deselektiert, wird noch nich geauto-saved. Wenn jemand eine gute Idee hat, wie wir das fixen immer raus damit.
Bisher weiß ich: Es gibt bei der Listbox ein SelectionChanged event. Das könnte man (wenn auch nich ganz elegant) an die speichermethode binden. Leider wird das auch immer aufgerufen, wenn sich die Charakterliste aktualisiert, was innerhalb der update methode passiert -> schöne schleife...
vielleicht gibts noch ne einfachere methode, die besser funktioniert, zB wieder der lostfocus oder so...
Edit: Ich will das jetz noch nich einchecken weils noch ein paar andere nebeneffekte gibt... aber ich hab mal mit dem LostFocus des Grids gespielt und das auf folgende Methode im Codebehind verweisen lassen:
- Code:
private void DialogueVM_LostFocus(object sender, RoutedEventArgs e)
{
if ((sender as Grid).DataContext != null)
((sender as Grid).DataContext as DialogueVM)._Change();
}
Das ist leider kein sauberes MVVM mehr, da jetzt der codebehind der view eine Methode des VM direkt aufruft, leider fällt mir da gerade nich viel besseres zu ein. Ich werde versuchen übers Wochenende die Autosave sachen soweit es geht fertigzukriegen. Diese methode hat aber einen Vorteil:
Da der Titel (respektive der Name bei Charakteren) von all den editierten sachen das einzige ist, was woanders angezeigt wird, reicht es auch wenn wir nen autosave genau DAFÜR machen (beim verlassen des textfeldes übernehmen, damit dann alles andere updated).
Was den ganzen rest angeht, reicht es wenn wir darauf reagieren
A: Wenn das gesamte projekt gespeichert wird
B: Wenn ein anderes Objekt ausgewählt wird oder der tab wechselt (das wäre mit dem Lostfocus ding abgedeckt).
Darum denke ich darüber nach das bei der charakterklamotte genauso zu handlen... ich denk ich schlaf nochmal ne nacht drüber
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
Wollte nochmal nachfragen: Die Trigger im ListBox style, bezüglich der keyboardfokus sachen... brauchen wir die noch? ich sitz grad an dem bug dass gelöschte charaktere nich aus der charakterliste verschwinden und müsste die liste im update clearen... dabei geht allerdings die selektion verloren, weil beim hinzufügen der elemente durch diese trigger automatisch das unterste element ausgewählt wird. Beim hinzufügen von charakteren kann ich das neue Element per code manuell auswählen, daher bräuchten wir die trigger dafür nicht mehr. erfüllen die sonst noch nen wichtigen zweck, den man nicht anders umsetzen könnte?
Edit... ja doch, nämlich im texteditor dass die zeile ausgewählt wird, wenn man ins textfeld klickt. sry bin nich mehr inner materie... könnten trotzdem ma gucken ob wir das problem irgendwie behoben kriegen, weil n komplexer algorithmus um die charakterliste zu aktualisieren lohnt sich irgendwie kaum, wenns noch anders geht (zwei verschiedene listbox styles im zweifelsfall?)
Edit... ja doch, nämlich im texteditor dass die zeile ausgewählt wird, wenn man ins textfeld klickt. sry bin nich mehr inner materie... könnten trotzdem ma gucken ob wir das problem irgendwie behoben kriegen, weil n komplexer algorithmus um die charakterliste zu aktualisieren lohnt sich irgendwie kaum, wenns noch anders geht (zwei verschiedene listbox styles im zweifelsfall?)
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
Die linke Seite kann beliebig nach links rechts verschoben werden und damit alles andere aus dem Blickfeld löschen. Das ist doch sicherlich nicht Sinn der Sache.
In der Taskliste steht :
- Charakterliste und DIalogliste :(dürfenNICHT vertikal zu weit nach unten geschoben werden können)
Maximale Höhe sollte Fensterbreite-50px oder so sein
ich sehe das problem eher in der HORIZONTALEN oder?
In der Taskliste steht :
- Charakterliste und DIalogliste :(dürfenNICHT vertikal zu weit nach unten geschoben werden können)
Maximale Höhe sollte Fensterbreite-50px oder so sein
ich sehe das problem eher in der HORIZONTALEN oder?
Tobias Stein- Anzahl der Beiträge : 88
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
dann mach horizontal auch eine grenze, also in beide richtungen
Re: Linke Seite(Character/Dialogerstellung)
seh ich auch so
btw ich hab das autosave feature für involvedcharacters bei dialogen jetz eingebaut... dürfte nicht mehr querschlagen, allerdings empfehle ich weitere intensive tests dafür.
Einziges bestehendes Problem das ich gerade noch sehe (sowohl bei characters, als auch bei dialogen):
Wenn die Listen sich updaten, verlieren wir die selektion (rein optisch)...
ich würde jetzt nicht mehr versuchen das mit irgendwelchen triggern mit keyboardfocus etc zu erzwingen, viel mehr werd ich versuchen, die updatefunktion programmatisch zu verbessern.
Klartext: wir müssen die liste selbst nur updaten wenn ein element hinzugefügt oder entfernt wird. das heißt ich werde versuchen darauf zu prüfen. Wenn das selektierte element entfernt wird, setzen wir die selektion auf null, wenn eins hinzukommt, wird das selektiert. ich hoffe das reicht dann aus. (ich verliere langsam echt den überblick über den ganzen kram der ansteht, also wenn jemand bedenken an dem vorgehen hat, oder nebeneffekte befürchtet, raus damit)
btw ich hab das autosave feature für involvedcharacters bei dialogen jetz eingebaut... dürfte nicht mehr querschlagen, allerdings empfehle ich weitere intensive tests dafür.
Einziges bestehendes Problem das ich gerade noch sehe (sowohl bei characters, als auch bei dialogen):
Wenn die Listen sich updaten, verlieren wir die selektion (rein optisch)...
ich würde jetzt nicht mehr versuchen das mit irgendwelchen triggern mit keyboardfocus etc zu erzwingen, viel mehr werd ich versuchen, die updatefunktion programmatisch zu verbessern.
Klartext: wir müssen die liste selbst nur updaten wenn ein element hinzugefügt oder entfernt wird. das heißt ich werde versuchen darauf zu prüfen. Wenn das selektierte element entfernt wird, setzen wir die selektion auf null, wenn eins hinzukommt, wird das selektiert. ich hoffe das reicht dann aus. (ich verliere langsam echt den überblick über den ganzen kram der ansteht, also wenn jemand bedenken an dem vorgehen hat, oder nebeneffekte befürchtet, raus damit)
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
OK is drin. sieht aufn ersten blick ganz ok aus:
1. Wenn man nur nen Charakter / Dialog umbenennt funktionierts prima, name ändert sich, selektion wird beibehalten
2. Wenn man nen dialog/character löscht, verschwindet er aus der liste, kein item ist ausgewählt, der edit bereich ist leer
3. Wenn man einen Charakter/dialog hinzufügt, erscheint er als letztes in der liste und wird ausgewählt, der editbereich istdanach instant für den neuen charakter zuständig...
Ich bitte um ausgiebige tests von allen verfügbaren leuten. Nehmts auseinander, macht das ding kaputt (bitte nur durch benutzen, nich am code pfuschen )...
Wenn das autosave feature jetzt wirklich funktioniert, können als nächstes die save/cancel buttons unten wech, und wir hätten dieses improvement abgeschlossen...
1. Wenn man nur nen Charakter / Dialog umbenennt funktionierts prima, name ändert sich, selektion wird beibehalten
2. Wenn man nen dialog/character löscht, verschwindet er aus der liste, kein item ist ausgewählt, der edit bereich ist leer
3. Wenn man einen Charakter/dialog hinzufügt, erscheint er als letztes in der liste und wird ausgewählt, der editbereich istdanach instant für den neuen charakter zuständig...
Ich bitte um ausgiebige tests von allen verfügbaren leuten. Nehmts auseinander, macht das ding kaputt (bitte nur durch benutzen, nich am code pfuschen )...
Wenn das autosave feature jetzt wirklich funktioniert, können als nächstes die save/cancel buttons unten wech, und wir hätten dieses improvement abgeschlossen...
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
Also wenn ihr die Breite oder Höhe eh begrenzen wollte, dann kann ich die GritSplitter auch wieder löschen. Dann machen die ja nicht unbedingt Sinn. Die sollten ja dafür da sein, dass der User die Freiheit hat...je nachdem mit welchem Format er arbeitet bzw. wie wichtig ihm grad die Felder links sind. Naja wie auch immer...ich habe jetzt zunächst dem horizontalen Grid eine MaxWidth gegeben. Allerdings funktioniert bei der Charakter Erstellung jetzt der GridSplitter nicht mehr, da irgendwo eine feste Größe angegeben wurde...daher könnte man diesen dann ganz löschen. Was denkt ihr?
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
Hab etwas beim Autosave gefunden:
man erstellt Charaktere
-> man erstellt Dialog und speichert Charaktere für den Dialog
-> in den Textzeilen erscheint die Liste aller Charaktere
-> man löscht einen Charakter
-> in den Textzeilen bleibt ein leeres Feld über von dem gelöschten Charakter
-> erst beim betätigen des save Buttons verschwindet es wieder
man erstellt Charaktere
-> man erstellt Dialog und speichert Charaktere für den Dialog
-> in den Textzeilen erscheint die Liste aller Charaktere
-> man löscht einen Charakter
-> in den Textzeilen bleibt ein leeres Feld über von dem gelöschten Charakter
-> erst beim betätigen des save Buttons verschwindet es wieder
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
die idee mit der "Freiheit" is ja nich dumm, nur sollte man verhindern, dass der benutzer sich selbst im weg steht.
So ist zB das verschieben des splitters außerhalb des fensters echt gefährlich (zu beiden seiten)...
bei dem vertikalsplitter (zwischen charlist/edit bereich zB) wäre ne simple regel: nicht aus dem fenster heraus
während bei den anderen (editbereich/texteditor und texteditor/emoPP bereich) der Texteditor einfach ne minimalbreite kriegen sollte mit der man arbeiten kann... das würde auch verhindern dass man durch verschieben des linken splitters nach gaaanz rechts den rechten bereich verschwinden lässt... irgendwo wäre also ne "magische Grenze"...
zusätzlich: nich ausm fenster rausziehn (dh randbereiche minimalbreite von 0)
ich weiß nich ob die minimalbreiten schon ausreichen um ein ziehen des splitters aus dem fenster schon zu verhindern, aber n versuch wärs wert...
Auch zu überlegen ist, ob unsere bereiche links/rechts nicht vllt eine sinnvolle maximalbreite haben, wir können das selbst beurteilen, ob es zB sinn macht dass man 2/3 des fensters für den emo/pp benutzen könnte....
so viel meine gedanken dazu
So ist zB das verschieben des splitters außerhalb des fensters echt gefährlich (zu beiden seiten)...
bei dem vertikalsplitter (zwischen charlist/edit bereich zB) wäre ne simple regel: nicht aus dem fenster heraus
während bei den anderen (editbereich/texteditor und texteditor/emoPP bereich) der Texteditor einfach ne minimalbreite kriegen sollte mit der man arbeiten kann... das würde auch verhindern dass man durch verschieben des linken splitters nach gaaanz rechts den rechten bereich verschwinden lässt... irgendwo wäre also ne "magische Grenze"...
zusätzlich: nich ausm fenster rausziehn (dh randbereiche minimalbreite von 0)
ich weiß nich ob die minimalbreiten schon ausreichen um ein ziehen des splitters aus dem fenster schon zu verhindern, aber n versuch wärs wert...
Auch zu überlegen ist, ob unsere bereiche links/rechts nicht vllt eine sinnvolle maximalbreite haben, wir können das selbst beurteilen, ob es zB sinn macht dass man 2/3 des fensters für den emo/pp benutzen könnte....
so viel meine gedanken dazu
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
habe noch einen Fehler bei dem Autosave gefunden. Der liegt im rechten Bereich. Da werden die Charaktere nicht korrekt in die Consequences Liste gelanden.
Edit: sorry hab jetzt erst gesehen, dass das Feld aktualisiert wird, wenn man auf den Editor klickt. Es gibt wirklich nur Probleme beim Löschen eines Charakters
Edit: sorry hab jetzt erst gesehen, dass das Feld aktualisiert wird, wenn man auf den Editor klickt. Es gibt wirklich nur Probleme beim Löschen eines Charakters
Zuletzt von Jennifer Jendral am So März 03, 2013 10:58 pm bearbeitet; insgesamt 1-mal bearbeitet
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
kannste das als bug mit reproduktionsschritten in den entsprechenden thread packen? danke
Edit: kann das sein dass die aktualisiert werden sobald du ne textline neu auswählst?
Edit: kann das sein dass die aktualisiert werden sobald du ne textline neu auswählst?
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Jennifer Jendral- Anzahl der Beiträge : 149
Anmeldedatum : 23.10.12
Re: Linke Seite(Character/Dialogerstellung)
nene is ja n valider punkt, die sollten durchaus sofort aktualisieren, bitte mach n bug draus... (is zwar verwandt mit nem anderen punkt aber is n guter punkt)
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Re: Linke Seite(Character/Dialogerstellung)
Save und Cancel button sind immernoch drin. da sich niemand über autosave beschwert hat, denke ich mal das funktioniert... in sofern weg mit den buttons, sonst is der user nur verwirrt...
ahertel- Anzahl der Beiträge : 507
Anmeldedatum : 25.10.12
Ähnliche Themen
» Rechte Seite (PP/Emo)
» Character - Personality Regler
» Checkbox Character PC/NPC (Rev. 1015)
» Auto speichern Character funzt nicht bei Klick in Char.list (Rev. 1015)
» Character - Personality Regler
» Checkbox Character PC/NPC (Rev. 1015)
» Auto speichern Character funzt nicht bei Klick in Char.list (Rev. 1015)
Seite 1 von 1
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten