Autor Thema: jnotes Planer - Anfgangs- und Endezeit festlegen. Nicht implementiert?  (Gelesen 4939 mal)

Offline padkey

  • Aktives Mitglied
  • ***
  • Beiträge: 107
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:
Code
Planer.WorkTime.Start=8
Planer.WorkTime.End=17
Jedoch ohne Auswirkung.
Auch in PlanerUnitCalculator.java sind:
Code
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

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
"WorkTime" dient nicht der Skalierung der Zeitachse sondern um den Zeitstrang farblich hervorzuheben. 

Wenn Du eine gesamte Zeitdarstellung hast z.B. 2 oder 3 Tage, dann immer von 0 - 24 Uhr.

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.
Wenn der Anwender dann scrollt dann natürlich in der gesamten Zeitachse (0 - 24). Man kann aber Aktionen bereitstellen, welche Tageweise vor- oder zurückspringen, das geht dann über JavaScript.

Hoffe ich konnte Dir helfen :)
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline padkey

  • Aktives Mitglied
  • ***
  • Beiträge: 107
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... :-(

Zitat
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.

Zitat
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():
Code
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...



Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Du hast doch bestimmt die Dokumentation, da sollte beschrieben sein wie du mit den Parametern:
Code
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.:
Code
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.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline padkey

  • Aktives Mitglied
  • ***
  • Beiträge: 107
okay, vielen dank, für die gute idee mit der Ansicht.

Jedoch sehe ich hier ein Problem: auch wenn ich dann die Appletbreite auf 90 Pixel bei 10 Pixel pro Unit im Stundenmodus drehe und dann nur von 8 bis 17 uhr mir die zeit anschaue, sehe ich ein paar probleme:
wenn ich den balken zu weit nach rechts verschiebe, dann ist der Balken trotzdem außerhalb von meiner Zeitspanne.
Eigentlich wollte ich auch eine Ansicht über mehrere Tage...

Für das was ich den Kalendar verwenden will, geht kein weg daran vorbei, das ein Unit nur von 8 - 17 Uhr geht.

Habe mir überlegt ein Kalendarmodell in Java zu machen, welches nur diese Zeitspanne enthält und dieses dann zu verwenden. Was meinst du dazu?

Die Idee mit der Ansicht ist zwar gut, aber es muss doch auch einen einfachen Weg geben, die Anfangszeit und Endzeit eines Units zu definieren.

Gruß Patrick

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Das Planerapplet ist definitiv dafür nicht ausgelegt, dies hier anzupassen ... naja da würde ich das Teil eher neu Konzeptionieren und Schreiben, das würde mehr Spass machen und man könnte noch ein paar andere nette Features einbauen :) hab mir dazu schon mal ein paar Gedanken gemacht.

Aber so ein Teil neu zu schreiben, dazu musste echt viel Zeit mitbringen. Und ob du die hast ... das musst Du selber wissen.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline padkey

  • Aktives Mitglied
  • ***
  • Beiträge: 107
naja, ich glaube fast, dass mir nichts anderes übrigbleiben wird.

Habe jetzt etwas neues Versucht:
Erstelle mir eine Calendar-Klasse, welche von Calendar erbt, aber ein Tag nur von 8-17Uhr geht. ... Mal schauen, vllt klappts dann.




Offline padkey

  • Aktives Mitglied
  • ***
  • Beiträge: 107
"WorkTime" dient nicht der Skalierung der Zeitachse sondern um den Zeitstrang farblich hervorzuheben. 

Nochmals vielen Dank, erst jetzt wußte ich was du meintest :-) Wäre natürlich die Lösung des Probs gewesen, da ich aber den Kalender noch nicht wirklich kannte, wußte ich nicht genau was du mir damit sagen wolltest... trotzdem vielen dank für den guten und netten support :love:... im Anhang ein Bild, wie die Sache jetzt aussieht  :D


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz