Ik ben net begonnen met ontwikkelen in xCode (in Java) en loop direct vast.
Wat ik wil is een NSTableView gebruiken en wanneer ik bv op de ENTER druk een bepaalde actie laten uitvoeren.Ik weet dat dit moet worden gedaan d.m.v. de NSTableView te subclassen en hierin te implementeren. Het probleem is echter: Hoe krijg ik deze subclass op mijn window in de Interface Builder??? Ik kan er wel een NSTableView op gooien, maar ik kan hier in de info panel niet de custom class aanpassen naar de suclass. Waarom niet? Of ben ik nu verkeerd bezig?
Ik hoop dat iemand mij de juiste richting in kan wijzen.
Althans, voor Objective-C werkt het zo. Ik gebruik geen Java, maar het zal niet veel anders zijn op dit punt.
Ik neem aan dat je nl. voordat je ook maar 1 letter hebt ingetikt, je bijna volledige interface kunt bouwen in de interface builder alvorens te beginnen met de implementatie.
(Bewerkt door xylone om 16:31, 24-03-2005)
dan nog even de juiste custom class kiezen, en je keyDown: zou automatisch meoten werken...
(ps. waarom zou je keydown in een tableview willen afvangen?)
om in die tableview dmv de delete toets een regel weg te halen,of met pijltje omlaag een nieuwe regel toe te voegen als je onderaan de tabel staat..
of zijn daar betere methoden voor (gebruik zelf Cocoa)?
- (void)deleteBackward:(id)sender
wordt aangeroepen als de backspace toets ingedrukt wordt.Ik weet niet 100% zeker dat het werkt, maar zo wel, dan zou dat wel zo makkelijk zijn, gewoon even proberen dus..(zie: ADC - NSResponder - deleteBackward )
wat je dus kunt doen, is of een category schrijven die deze methode implementeerd, of NSTableView subclassen... wat jij wilt
Wat het pijltje omlaag voor een nieuwe row betreft, dit lijkt mij een slecht idee... is niet erg gebruikersvriendelijk. (denk er bijvoorbeeld aan, dat je van boven naar benedenscrolled met de pijltjestoetsen, en dan voorbij het laatste element schiet, en ineens 10 nieuwe elementen hebt) een CMD-SHIFT-N of andere toetscombinatie is dan wellicht meer gewenst
xylone om 16:28, 24-03-2005Ik neem aan dat je nl. voordat je ook maar 1 letter hebt ingetikt, je bijna volledige interface kunt bouwen in de interface builder alvorens te beginnen met de implementatie.
Dat kan toch? Alleen wordt jouw keyDown methode dan niet aangeroepen.
Wanneer je werkt in java, krijg je geen header files, en kun je die er dus niet opslepen. Maar zelfs wanneer ik in objective-C deze methode probeer, zie ik wel de subclass in de classes view staan (Staat er overigens ook gewoon wanneer ik deze subclass in IB zelf), maar verschijnt nog steeds niet in de custom class in het info panel van de NSTableView die op mijn window ligt.
Wat is nou de reden dat is daar niet verschijnt, ik snap hier werkelijk nix van
Ik heb obj-c en java geprobeerd.
Als ik echter NSScrollView subclass kan ik die wel kiezen als een subclass bij NSTableView?? Maar die klasse zal wel niet alle NSTableView messages ontvangen.
Wat doen we verkeerd?? In veel artikelen op internet staat "Gewoon even je NSTableView subclasses"
iets soortgelijks hebben ze ook bij een NSTableView gedaan. Wat je dan doet, is je klikt dubbel op de scrollview, zodat de NSTableView actief wordt gemaakt, en dan kun je wel de custom class zetten :P comprende?
ik wil toch nog stressen, dat ik betwijfel hoe handig het kan zijn als je met een arrow-down nieuwe rows toe gaat voegen... backspace is algemeen geaccepteerd tho
Ja nu doet ie het!
Thnx voor alle hulp/ideeen!!!
We kunnen verder!!!
Reflex bedankt, OLE OLE
Waar dat gedocumenteerd staat mja, "An NSTableView displays data for a set of related records, with rows representing individual records and columns representing the attributes of those records. An NSTableView is usually displayed in an NSScrollView, like this:"
linkje