Table of Contents

OnEvent_SchedulerDrag auch für MoveBars

Informationen

  • Kategorien: GUI | Scheduler
  • Version: .0
  • Veröffentlichungsdatum: Dienstag, 17. Juni 2014
  • Entwickler: Götzen
  • Benötigt Datenbankänderung: Ja
  • Betreff: OnEvent_SchedulerDrag regiert zusätzlich auf das Verschieben von Balken

Beschreibung

OnEvent_SchedulerDrag() regiert jetzt zusätzlich auf das Verschieben von Balken im Scheduler. Hierbei hat das Argument "EventId" dann die Nummer 2.

Achtung wenn in diesem Event nun ein Defaultwert von 0 zurückgegeben wird, ist ein verschieben von Balken nicht mehr möglich. Damit dies auf bestehende Projekte keinen Effekt hat, wird diese Funktionalität nur für Events mit den 3 zusätzlichen Argumenten: "byref string $DragWndMsg", "byref string $DragWndTitle" und "byref string $DragWndImage" berücksichtigt.

Beispielcode

int onEvent_SchedulerDrag( string $sSchedulerName, int $eEventType, entity $eDragEntity, entity $eResourceEntity, time $DragTime ,  byref string $DragWndMsg, byref string $DragWndTitle, byref string $DragWndImage )
{
	var ::Task $Task;

	switch( $eEventType  )
	{
	case 1:  // Eventype 1 ist the Drag  event. 
		if(  $sSchedulerName == "2" &&  IsKindOf( $eDragEntity, name_of(::Task )) )
		{
			$Task = $eDragEntity;
			$DragWndTitle =  $Task.$Displayname;
			$DragWndMsg   = "Drop allowed at " + DateToStr( "dd'.'MM'.'", $DragTime ) +  TimeToStr( " hh':'mm':'ss", $DragTime );
			$DragWndImage = "ok";
			return 1;
		}
		break;

	case 2:  // Eventype 2 ist the Moving event. 
		if( $sSchedulerName == "2"  )
		{
			$Task = $eDragEntity;
			$DragWndTitle =  $Task.$Displayname;
			$DragWndMsg   = "Moving allowed to " + DateToStr( "dd'.'MM'.'", $DragTime ) +  TimeToStr( " hh':'mm':'ss", $DragTime );
			$DragWndImage = "ok";
			return 1;
		}		
		break;
	}

	// Default behavior
	//
	switch( $eEventType  )
	{
	case 1:  // Eventype 1 ist the Drag  event. 
		$DragWndTitle = "Dragging";
		$DragWndMsg   = "Drag not allowed!";
		$DragWndImage = "cancel";
		return 0;  // Drop not allowed as default
		break;

	case 2:  // Eventype 2 ist the Moving event. 
		return 1;  // Moving allowed as default
		break;
	}

	return 1;
}