intento de treeview
Posted: 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.
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
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 ];
}