Hallo zusammen,
wieder ein Prob mit dem Planer... :-(
Diesmal will ich die Anfangszeit und Endzeit für einen Arbeitstag festlegen. Beispiel von 8Uhr morgens bis 17Uhr Abends,anstatt von 0 Uhr bis 24Uhr.
Hierfür gibt es auch in der Property-File einen EIntrag:
Planer.WorkTime.Start=8
Planer.WorkTime.End=17
Jedoch ohne Auswirkung.
Auch in PlanerUnitCalculator.java sind:
protected int firstHourInPlaner=8;
protected int lastHourInPlaner=17;
zu finden. Auch hier wird auf diese Werte nicht zugriffen, außer mit den getter-Methoden, jedoch werden diese nie im ganzen Projekt irgendwo anders aufgerufen...
Sind diese Sachen überhaupt implementiert?
Wenn nicht, hat jmd eine Idee, wo ich da am besten ansetze, schlage mich schon relativ lange mit diesem Problem rum. Ich finde einfach nicht diese Codezeile, die sagt, dass der Tag 24 stunden oder 24*60*60*1000 ms oder was auch sonst hat...
vielen dank für hilfe
gruß padkey
hey, vielen Dank für deine schnelle Hilfe! Habe mein Problem nochmals versucht genauer zu schildern... ich hoffe man kann dies einfach mit wenigen Zeilen Code an der richtigen Stelle lösen, nur momentan scheine ich diese Stelle nicht zu finden... :-(
Wenn Du eine gesamte Zeitdarstellung hast z.B. 2 oder 3 Tage, dann immer von 0 - 24 Uhr.
Ich habe den Planer-Mode: Day, also werden immer mehrere Tage angezeigt.
Die Balken stellen Arbeitsaufgaben/Aufträge/Beschäftigungen dar.Diese sollen dann so reingezogen werden können, dass rechts eines "Units" anstatt 0 Uhr 8Uhr steht und dieses dann auch im Dokument in Notes so einfügen.
Wenn Du nur einen Tag darstellen willst, dann kann man eine Trick anwenden der darin besteht die Startzeit auf z.B. 8 Uhr zu legen und die Zeitskalierung so zu trimmen das genau ein Arbeitstag von 8-17 Uhr abgebildet wird.
Okay, das würde mich mal interessen, wie ich die Zeitskalierung trimmen kann?
Wenn ich die Startzeit(des Planers) in den Methoden calcDateToUnit() und calcUnitToDate() auf 8Uhr setze, dann beginnen auch die alle Units bei 8Uhr, jedoch endet dann der Tag auch bei 7,59Uhr. Dies beruht darauf, dass immer das Startdatum des Planers zum berechnen der anderen Daten verwendet wird.Somit habe ich nichts gewonnen. Ein Unit stellt immer noch 24 Stunden dar.
Wo holt sich das Unit, die Informationen, dass es 24 Stunden abbilden soll???
Ich habe auch schon die currentUnitLength, also unter getCurrentUnitLength():
case PlanerOptions.PLANERMODE_DAY :
return 24 * 3600000L;
anstatt 24 auf 9 Units gedreht. Jedoch wird dann 1 Tag nicht mehr in einem Unit(also Kasten oder Feld) angezeigt, sondern in ca. 3.
Nun gibt es viele Möglichkeiten, den Rest zu entfernen, man entfernt die Zeit davor, man setzt die Tageslänge einfach auf 9 Stunden...
Du hast doch bestimmt die Dokumentation, da sollte beschrieben sein wie du mit den Parametern:
Planer.Widthcalculate.Mode
Planer.Mode
Planer.Unit.Width
Du dir deine eigenen sichtbaren Zeitbereiche definieren kannst.
Setze "Planer.Widthcalculate.Mode" auf "normal" um die volle Kontrolle über die Zeiteinteilung zu erhalten, z.B.:
Planer.Widthcalculate.Mode=normal
Planer.Mode=Hour
Planer.Unit.Width=10
bei einer Appletbreite von 400 Pixel gehen genau 40 Units unter (Appletbreite/Planer.Unit.Width) eine Unit stellt eine Stunde dar (Planer.Mode=Hour), also werden 40 Stunden abgebildet.
Also durch wissen über Appletbreite und den Einstellungen von Planer.Mode und Planer.Unit.Width kannst Du dir den Zeitbereich selber festlegen. Der Parameter "Planer.Widthcalculate.Mode" nimmt dir diese Aufgabe ab ist aber auch nicht so flexible.