[Qt-jambi-interest] QTreeModel with several columns

Tom Schindl listom at bestsolution.at
Wed Dec 23 12:54:09 CET 2009


Oh sorry. I'm using SVN-Externals a lot on Eclipse-Servers. So the
correct URLs are:

Code:
https://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/bundles/incubation/org.eclipse.ufacekit.incubation/org.eclipse.ufacekit.ui.qt/org.eclipse.ufacekit.ui.qt.jface/

Examples:
https://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/bundles/incubation/org.eclipse.ufacekit.incubation/org.eclipse.ufacekit.ui.qt/org.eclipse.ufacekit.ui.qt.jface.example/

The one below holds only the Eclipse-specific setups.

Tom


Am 23.12.09 09:29, schrieb Helge Fredriksen:
> Thanks for your help, but I wasn't able to see the code from the link at the
> bottom of your mail.... Maybe I don't have access.
> 
> Helge
> 
> Tom Schindl wrote:
>> Hi Helge,
>>
>> Not sure if this of interest for you but I've written my own MVC-Wrapper
>> around structured controls like List, Table, Tree, TreeTable.
>>
>> And my setup looks like this:
>>
>> --------8<--------
>> TreeTableViewer viewer
>>   = new TreeTableViewer<Person, Collection<Person>>(widget);
>>
>> column = new TreeViewerColumn<Person>(viewer,"Location");
>> column.setLabelConverter(new LabelConverter<Person>() {
>>   @Override
>>   public String getText(Person element) {
>>     return element.getLocation();
>>   }
>> });
>>
>> column = new TreeViewerColumn<Person>(viewer,"Birthday");
>> column.setLabelConverter(new LabelConverter<Person>() {
>>   @Override
>>   public String getText(Person element) {
>>     return element.getBirthday() != null ?
>>      SimpleDateFormat.getDateInstance().format(element.getBirthday())
>>      :"";
>>   }
>> });
>>
>> viewer.setContentProvider(
>>    new ITreeContentProvider<Person, Collection<Person>>() {
>>
>>    // ...
>>
>>    public Collection<Person> getChildren(Person parentElement) {
>>      return parentElement.getFriends();
>>    }
>>
>>    public boolean hasChildren(Person element) {
>>      return element.getFriends().size() > 0;
>>    }
>> });
>>
>> viewer.setInput(book.getPeople());
>> --------8<--------
>>
>> All the code is available under EPL from
>> https://dev.eclipse.org/svnroot/eclipse/org.eclipse.ufacekit/develop/eclipse/virtual-structure/incubation/org.eclipse.ufacekit.ui.qt.jface.
>>
>> Tom
>>
>> Am 22.12.09 18:38, schrieb Helge Fredriksen:
>>   
>>> Yes, that would be great! Thanks.
>>>
>>> Helge
>>>
>>> Robert Lebel wrote:
>>>     
>>>> Hi,
>>>>
>>>> I did it by implementing QAbstractTableModel (and did not find it that
>>>> easy). I can send you the complete source of my model if you need it.
>>>>
>>>> public Object data(QModelIndex index, int role) {
>>>>
>>>>   ...
>>>>   switch (role) {
>>>>     case ItemDataRole.DisplayRole:
>>>>        switch (index.column()) {
>>>>        case 0:
>>>>          return "text column 1"
>>>>
>>>>        case 1:
>>>>          return "text column 2"
>>>>                         
>>>>
>>>>
>>>> 2009/12/22 Helge Fredriksen <hf at poseidon.no <mailto:hf at poseidon.no>>
>>>>
>>>>     Hello!
>>>>
>>>>     Anyone have any experience with implementing a QTreeModel with several
>>>>     columns? It seems possible to override the columnCount(QModelIndex)
>>>>     method to return 2, but I can't seem to find a way to control the text
>>>>     shown in column nr. 2 which I really would like to. It seems to
>>>>     replicate the text in both columns pr. default.
>>>>
>>>>     Do I need to implement the QAbstractTableModel to do this, or can
>>>>     I use
>>>>     the QTreeModel in some way?
>>>>
>>>>     Helge
>>>>     _______________________________________________
>>>>     Qt-jambi-interest mailing list
>>>>     Qt-jambi-interest at trolltech.com
>>>>     <mailto:Qt-jambi-interest at trolltech.com>
>>>>     http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest
>>>>
>>>>
>>>>       
>>>
>>> _______________________________________________
>>> Qt-jambi-interest mailing list
>>> Qt-jambi-interest at trolltech.com
>>> http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest
>>>     
>>
>>   
> 




More information about the Qt-jambi-interest mailing list