intento de treeview

intento de treeview

Postby mastintin » Wed Jul 21, 2010 1:54 pm

Como Máximo queria la Clase treeview empecé a mirar su documentación . Como era una clase heredada de tableview pensé que podría ser muy similar ,pero parece que el datasource no tiene mucho que ver . He visto unos cuantos ejemplos de código por internet y la verdad que lian aun mas mis conceptos .Parece que la mejor omas facil solución pasa por usar una clase que se llama NStreeController y asociarla al nsoutlineview . Esa clase parece que se puede cargar desee un array ,pero sinceramente estoy muy perdido .
pongo la parte de codigo que tengo que permite carga la clase en pantalla y definirlas columnas ( son las mismas que las de browse ) , pero el datasource no esta empezado a implementar y tampoco se muy bien como funciona su clase correspondiente en fw para windows.

Code: Select all  Expand view





HB_FUNC( TREECREATE )
{
    NSScrollView * sv = [ [ NSScrollView alloc ]
                         initWithFrame : NSMakeRect( hb_parnl( 2 ), hb_parnl( 1 ), hb_parnl( 3 ), hb_parnl( 4 ) ) ];
    NSOutlineView  * browse;
    NSWindow * window = ( NSWindow * ) hb_parnl( 5 );

   
   
    // while( [ [ data->hWnd className ] isEqual : @"NSTabViewItem"  ] )
    //   data->hWnd = [ [ ( ( NSTabViewItem * ) data->hWnd ) tabView ] window ];           
   
    [ sv setAutoresizingMask : NSViewWidthSizable | NSViewHeightSizable ];
    [ sv setHasVerticalScroller : YES ];
    [ sv setHasHorizontalScroller : YES ];
    [ sv setBorderType : NSBezelBorder ];
   
    browse = [ [ NSOutlineView alloc ]
              initWithFrame : [ [ sv contentView ] frame ] ];
    // [ browse setAllowsColumnSelection : YES ];
   
    [ sv setDocumentView : browse ];           
    [ GetView( window ) addSubview : sv ];
    // esto es añadido
   
   
   
   
    hb_retnl( ( LONG ) browse );
}  

HB_FUNC( TREEADDCOLUM )
{
   
    NSOutlineView * browse = ( NSOutlineView * ) hb_parnl( 1 );
    NSString * string = [ [ [ NSString alloc ] initWithCString: ISCHAR( 2 ) ? hb_parc( 2 ) : "" ] autorelease ];
    TableColumn * column = [ [ TableColumn alloc ] init ];
   
    column->id = [ browse numberOfColumns ];
   
    [ column setWidth : 100 ];
    // [column setEditable: YES];
    // [ column setResizable: YES ];
    [ [ column headerCell ] setStringValue: string ];
    [ browse addTableColumn : column ];
}  
 
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Return to FiveMac / FivePhone (iPhone, iPad)

Who is online

Users browsing this forum: No registered users and 7 guests