Page 1 of 1

Mas funciones para la toolbar

Posted: Sun Aug 22, 2010 2:10 pm
by mastintin
Nuevas funciones para la toolbar . La primera añade un separador . la tercera un espacio y la segunda un espacioflex .
Dejo aunsin publicar la funcion de busquedas hasta que quede mas claro la mejor manera de inplementarla .

El código para la lcase :

Code: Select all

  METHOD AddSeparator() INLINE  AAdd( ::aButtons, TToolBarBtn():Separator( Self ) )
   METHOD AddSpaceFlex() INLINE  AAdd( ::aButtons, TToolBarBtn():Spaceflex( Self ) )   
   METHOD AddSpace() INLINE  AAdd( ::aButtons, TToolBarBtn():Space( Self ) ) 
 
para la clase btntoolbar

Code: Select all

METHOD SEPARATOR( oToolBar ) CLASS TToolBarBtn

   ::oToolBar = oToolBar
   ::hWnd     = TBRADDSEPARATOR( oToolBar:hWnd, Len( oToolBar:aButtons ) )
   
return Self    
    

METHOD SpaceFlex( oToolBar ) CLASS TToolBarBtn

   ::oToolBar = oToolBar
   ::hWnd     = TBRAddSpaceFlex( oToolBar:hWnd, Len( oToolBar:aButtons ) )
   
return Self

METHOD Space( oToolBar ) CLASS TToolBarBtn

   ::oToolBar = oToolBar
   ::hWnd     = TBRAddSpace( oToolBar:hWnd, Len( oToolBar:aButtons ) )
   
return Self 

 


El codigo para toolbars.m

Code: Select all


HB_FUNC( TBRADDSEPARATOR )
{
    
    ToolBar * toolbar = ( ToolBar * ) hb_parnl( 1 );
    
     NSToolbarItem * item;
    
    [ toolbar insertItemWithItemIdentifier : NSToolbarSeparatorItemIdentifier atIndex : hb_parnl( 2 ) ];
    item = [ [ toolbar items ] objectAtIndex : hb_parnl( 2 ) ];
    
    hb_retnl( ( LONG ) item );
}   

HB_FUNC( TBRADDSPACEFLEX )
{
    
    ToolBar * toolbar = ( ToolBar * ) hb_parnl( 1 );
    
    NSToolbarItem * item;
    
    [ toolbar insertItemWithItemIdentifier : NSToolbarFlexibleSpaceItemIdentifier atIndex : hb_parnl( 2 ) ];
    item = [ [ toolbar items ] objectAtIndex : hb_parnl( 2 ) ];
    
    hb_retnl( ( LONG ) item );
} 

HB_FUNC( TBRADDSPACE )
{
    
    ToolBar * toolbar = ( ToolBar * ) hb_parnl( 1 );
    
    NSToolbarItem * item;
    
    [ toolbar insertItemWithItemIdentifier : NSToolbarSpaceItemIdentifier atIndex : hb_parnl( 2 ) ];
    item = [ [ toolbar items ] objectAtIndex : hb_parnl( 2 ) ];
    
    hb_retnl( ( LONG ) item );
} 
 

Re: Mas funciones para la toolbar

Posted: Mon Aug 23, 2010 4:12 pm
by mastintin
Ampliación del tema con unas cuantas funciones mas :

En toolbtn.prg :

Code: Select all

 METHOD Disable() INLINE TbrItemDisable( ::hWnd )
   METHOD Enable() INLINE TbrItemEnable( ::hWnd )  
   METHOD ChangeLabel( cPrompt )
   METHOD ChangeTooltip( cTooltip )


METHOD ChangeLabel( cPrompt ) CLASS TToolBarBtn
    ::cPrompt :=  cPrompt
    TbrChangeItemLabel(::hWnd,cPrompt )
return nil


METHOD ChangeTooltip( cTooltip ) CLASS TToolBarBtn
    ::cTooltip :=  cToolTip
    TbrChangeItemTooltip(::hWnd,cTooltip )
return nil

 
en toolbar.prg

Code: Select all

 METHOD GetItem(nAt) INLINE ::aButtons[nAt]
 
en toolbar.m

Code: Select all


HB_FUNC( TBRCHANGEITEMLABEL )
{
    NSToolbarItem * item =( NSToolbarItem  * ) hb_parnl( 1 );   
    NSString * label = [ [ [ NSString alloc ] initWithCString: ISCHAR( 2 ) ? hb_parc( 2 ) : "" ] autorelease ];
    [ item setLabel : label ]; 
}   

HB_FUNC( TBRCHANGEITEMTOOLTIP )
{
    NSToolbarItem * item =( NSToolbarItem  * ) hb_parnl( 1 );   
    NSString * cToolTip = [ [ [ NSString alloc ] initWithCString: ISCHAR( 2 ) ? hb_parc( 2 ) : "" ] autorelease ];
    [ item setToolTip : cToolTip ]; 
}  

HB_FUNC( TBRITEMDISABLE )
{
    NSToolbarItem * item =( NSToolbarItem  * ) hb_parnl( 1 );
     [  item setEnabled : NO ]; 
}  

HB_FUNC( TBRITEMENABLE )
{
        NSToolbarItem * item =( NSToolbarItem  * ) hb_parnl( 1 );
        [  item setEnabled : YES ]; 
}  

 

Re: Mas funciones para la toolbar

Posted: Mon Aug 23, 2010 5:32 pm
by Antonio Linares
Manuel,

Gracias! :-)