Ejemplo n.º 1
0
bool SVGroupview::triggerSlot(WObject *sender, const WSlot_ *slot, void **args)
{
  if (slot == slots_ + 0) {
    sender_ = sender;    MenuItemRequestProc(*((MENU_REQUEST *)args[0]));
    return true;
  }
  if (slot == slots_ + 1) {
    sender_ = sender;    backParent();
    return true;
  }
  if (slot == slots_ + 2) {
    sender_ = sender;    AddNewGroup();
    return true;
  }
  if (slot == slots_ + 3) {
    sender_ = sender;    EditGroupParam(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 4) {
    sender_ = sender;    showIconView();
    return true;
  }
  if (slot == slots_ + 5) {
    sender_ = sender;    showListView();
    return true;
  }
  if (slot == slots_ + 6) {
    sender_ = sender;    AddGroupData(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 7) {
    sender_ = sender;    EditGroupData(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 8) {
    sender_ = sender;    ChangeGroupState(*((string *)args[0]), *((int *)args[1]));
    return true;
  }
  if (slot == slots_ + 9) {
    sender_ = sender;    showMainView();
    return true;
  }
  if (slot == slots_ + 10) {
    sender_ = sender;    AddNewDevice();
    return true;
  }
  if (slot == slots_ + 11) {
    sender_ = sender;    AddDevice2nd(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 12) {
    sender_ = sender;    EnumDevice(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 13) {
    sender_ = sender;    EditDeviceByIndex(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 14) {
    sender_ = sender;    AddNewDeviceSucc(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 15) {
    sender_ = sender;    EditDeviceSuccByID(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 16) {
    sender_ = sender;    ChangeDeviceState(*((string *)args[0]), *((int *)args[1]));
    return true;
  }
  if (slot == slots_ + 17) {
    sender_ = sender;    EnterDeviceByID(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 18) {
    sender_ = sender;    EnterNewDeviceByID(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 19) {
    sender_ = sender;    AddMonitor(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 20) {
    sender_ = sender;    CancelAddMonitor();
    return true;
  }
  if (slot == slots_ + 21) {
    sender_ = sender;    AddNewMonitorByType(*((int *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 22) {
    sender_ = sender;    AddMonitorSucc(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 23) {
    sender_ = sender;    EditMonitorSuccByID(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 24) {
    sender_ = sender;    EditMonitorByIndex(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 25) {
    sender_ = sender;    BackMonitorList();
    return true;
  }
  if (slot == slots_ + 26) {
    sender_ = sender;    BackGroupDeviceList(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 27) {
    sender_ = sender;    EditSVSESuccByIndex(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 28) {
    sender_ = sender;    EditSVSEByIndex(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 29) {
    sender_ = sender;    enterSVSE(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 30) {
    sender_ = sender;    enterGroup(*((string *)args[0]));
    return true;
  }
  if (slot == slots_ + 31) {
    sender_ = sender;    backSVSEView();
    return true;
  }
  if (slot == slots_ + 32) {
    sender_ = sender;    DelDeviceByIdProc(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 33) {
    sender_ = sender;    DelGroupByIdProc(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 34) {
    sender_ = sender;    BatchAddMonitor();
    return true;
  }
  if (slot == slots_ + 35) {
    sender_ = sender;    ReloadCurrentView();
    return true;
  }
  if (slot == slots_ + 36) {
    sender_ = sender;    SortObjects(*((int *)args[0]));
    return true;
  }
  if (slot == slots_ + 37) {
    sender_ = sender;    RefreshCurrentList();
    return true;
  }
  if (slot == slots_ + 38) {
    sender_ = sender;    enterGroupByID(*((const std::string *)args[0]));
    return true;
  }
  if (slot == slots_ + 39) {
    sender_ = sender;    Translate();
    return true;
  }
  if (slot == slots_ + 40) {
    sender_ = sender;    ExChange();
    return true;
  }
  if (slot == slots_ + 41) {
    sender_ = sender;    CopyNewDeviceSucc(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  if (slot == slots_ + 42) {
    sender_ = sender;    CopyNewMonitorSucc(*((string *)args[0]), *((string *)args[1]));
    return true;
  }
  return WContainerWidget::triggerSlot(sender, slot, args);
}
Ejemplo n.º 2
0
/* AddDevice()
 * =======================================================================
 * Add a new device.
 * int adevice - >   devnum to add.
 * int AHotDriver->  Index into driver list of driver for the device.
 *
 */
void
AddDevice( void )
{
     GRECT   rect;
     DEV_PTR temp_device;     
 
     wait_up();

     if( form_alert( 1, alert2 ) == 2 )
     {
        deselect( tree, EADD );
     	return;
     }	
     
     SetChangeFlag();	
          
     temp_device = AddNewDevice( adevice );
     if( temp_device )
     {
        /* found a slot and added it to the device linked list array. */
	DNAME( temp_device ) = AHotDriver;         
	if( IsSelected( AROM ) )
	    DTYPE( temp_device ) = 'P';
	
	if( IsSelected( ARES ) )
	    DTYPE( temp_device ) = 'R';    
	
	xdevice = temp_device;
	InitActiveEdit();
	

	/* re-init the inactive devices. 
	 * we only need to check for the device, not everything else.
	 */
   	 adevice = MIN_DEV;	/* Set the initial device - unless its a device...*/

   	/* Check to see if the device exists. If it does, increment and check again
    	 * until we don't have an active device.
    	 */   
   	 while( find_device( adevice ) )
   	        adevice++;
   
   	/* Set a global index number for the device editor so that we
	 * know which one is currently being displayed. Note that this is
         * for the active drivers.
    	 */   
   	/* Display the device number in text form. */              
   	 sprintf( ADeviceText, "%d", adevice );
   	 TedText( ANUM ) = &ADeviceText[0];
		
	 Objc_draw( tree, CURNUM, MAX_DEPTH, NULL );	
	 Objc_draw( tree, CURNAME, MAX_DEPTH, NULL );
	 Objc_draw( tree, CURROM, MAX_DEPTH, NULL );
	 Objc_draw( tree, CURRES, MAX_DEPTH, NULL );
	
	 Objc_draw( tree, ANUM, MAX_DEPTH, NULL );

         /* turn on/off the EDELETE button here too */
         rect = ObRect( EDELETE  );
         objc_offset( tree, EDELETE, &rect.g_x, &rect.g_y );

         rect.g_x -= 3;
         rect.g_y -= 3;
         rect.g_w += 6;
         rect.g_h += 6;
        
         if( DDEV( temp_device ) > 9 )
         {
           MakeExit( EDELETE );
           Enable( EDELETE );
         }
         else
         {
           NoExit( EDELETE );
           Disable( EDELETE );           
         }
         Deselect( EDELETE );
         Objc_draw( tree, ROOT, MAX_DEPTH, &rect );

	 device_count++;
     }

     /* Reset the driver name to NONE */
     strcpy( ADriverText, driver_null );
     TedText( ANAME ) = &ADriverText[0];
     Objc_draw( tree, ANAME, MAX_DEPTH, NULL );

     /* Set the ROM/RES flags */
     deselect( tree, AROM );
     deselect( tree, ARES );
     AHotDriver = -1;

     /* turn off the EADD button here too */
     rect = ObRect( EADD  );
     objc_offset( tree, EADD, &rect.g_x, &rect.g_y );

     rect.g_x -= 3;
     rect.g_y -= 3;
     rect.g_w += 6;
     rect.g_h += 6;
        
     NoExit( EADD );
     Disable( EADD );           
     Deselect( EADD );
     Objc_draw( tree, ROOT, MAX_DEPTH, &rect );
}
Ejemplo n.º 3
0
/* mover_button()
 *==========================================================================
 * Handles the button events for the CPX Mover/Rename Function
 * IN: int obj:		The RCS Object clicked on.
 * OUT: BOOLEAN:   TRUE - Exit the CPX Mover Config
 *		   FALSE - Remain in the CPX Mover Config
 *
 */
void
mover_button( int obj )
{
   MRETS mk;
   int   ox,oy;
   HDEVICE_PTR curptr;
   DEV_PTR temp_device;
      
        Old_Slit = Cur_Slit;

	if( obj == Mup )
	{        
	   sl_arrow( tree, Mbase, Mslider, Mup, -1,
           	     max( Total - MAX_SLITS, 0 ), 0,
           	     &Cur_Slit, VERTICAL, Draw_Slit );
           return;			    	     
        }   			    	     

        if( obj == Mdown )
        {
           sl_arrow( tree, Mbase, Mslider, Mdown, 1,
           	     max( Total - MAX_SLITS, 0 ), 0,
           	     &Cur_Slit, VERTICAL, Draw_Slit );
           return;			    	     
        }   			    	     

        if( obj == Mslider )
        {
           MF_Save();
	   if( AES_Version >= 0x0320 )
	       graf_mouse( FLAT_HAND, 0L );

           if(( AES_Version >= 0x0330 )
	       && ( gl_ncolors > LWHITE ) )
	       XSelect( tree, Mslider );

           graf_mkstate( ( int *)&mk.x, &oy, (int *)&mk.buttons, ( int *)&mk.kstate );
	   do
	   {
	       graf_mkstate( (int *)&mk.x, (int *)&mk.y, (int *)&mk.buttons, ( int *)&mk.kstate );
	   }while( mk.buttons && ( mk.y == oy ));
           
 	   if( mk.buttons && ( mk.y != oy ))
	   {
              sl_dragy( tree, Mbase, Mslider,
           	        max( Total - MAX_SLITS, 0 ), 0,
           	        &Cur_Slit, Draw_Slit );
	   }

	   if(( AES_Version >= 0x0330 )
	        && ( gl_ncolors > LWHITE ) )
	       XDeselect( tree, Mslider );

	   MF_Restore();
           return;		  
        }           		  
        
        if( obj == Mbase )
        {   		 
           Graf_mkstate( &mk );
           objc_offset( tree, Mslider, &ox, &oy );
           ox = (( mk.y < oy ) ? ( -MAX_SLITS ) : ( MAX_SLITS ) );
           sl_arrow( tree, Mbase, Mslider, -1, ox,
             	     max( Total - MAX_SLITS, 0 ), 0,
             	     &Cur_Slit, VERTICAL, Draw_Slit );
           return;           		  	    	     
        }   		  	    	     


	if(( obj >= Obj_Beg ) && ( obj <= Obj_End ))
	{
	    if( !IsSelected( obj ) )
	    {
	      curptr = Active_Slit[ obj - First_Obj ];
	      if( !curptr )
	      	return;	      
	      
/*	      SetChangeFlag();*/
	      Undo_Fnodes( hdriver_head );
	      HFLAG( curptr ) = TRUE;
	      XSelect( tree, obj );
	      cur_cdriver = HNAME( curptr );
	      
              strcpy( driver_text, cdrivers[ HNAME( curptr )] );
              TedText( FPRINTER ) = &driver_text[0];
              Objc_draw( tree, FPRINTER, MAX_DEPTH, NULL );

              temp_device = find_device( 21 );	/* find the printer device */
              if( !temp_device )
      	      {
      	         /* Add the Device if necessary */
                 temp_device = AddNewDevice( 21 );
        	 if( temp_device )
        	 {
          	   /* found a slot and added it to the device linked list array. */
	  	   DNAME( temp_device ) = cdriver_array[ cur_cdriver ];         
	         }  
              }
              else
                /* Else, just change the device name */
                DNAME( temp_device ) = cdriver_array[ cur_cdriver ];   

	      if( IsDisabled( FREMOVE ) )
	        ChangeButton( tree, FREMOVE, TRUE );
	      
	      if( strstr( cdrivers[ cur_cdriver ], NonSpeedo ) )
	      {
	        if( !IsDisabled( FCONFIG ) )
	          ChangeButton( tree, FCONFIG, FALSE );
	      }
	      else
	      {	                      
                if( IsDisabled( FCONFIG ) )
                  ChangeButton( tree, FCONFIG, TRUE );
              }
              /* WRITE THE ASSIGN.SYS IMMEDIATELY */
              write_assign();    
	   }  
	}

}