FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveMac / FivePhone (iPhone, iPad) Mas funciones para la toolbar
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM

Mas funciones para la toolbar

Posted: Sun Aug 22, 2010 02:10 PM
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 (fw): Select all Collapse
  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 (fw): Select all Collapse
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 (fw): Select all Collapse
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 );
}
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM

Re: Mas funciones para la toolbar

Posted: Mon Aug 23, 2010 04:12 PM
Ampliación del tema con unas cuantas funciones mas :

En toolbtn.prg :
Code (fw): Select all Collapse
 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 (fw): Select all Collapse
 METHOD GetItem(nAt) INLINE ::aButtons[nAt]


en toolbar.m
Code (fw): Select all Collapse
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 ]; 
}
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: Mas funciones para la toolbar

Posted: Mon Aug 23, 2010 05:32 PM

Manuel,

Gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion