LISTVIEW in Attributemanager
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 11/05/2012 at 02:08, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 13
Platform: Windows ;
Language(s) : C++ ;---------
Hello,I'm creating a tag plugin and need an LISTVIEW element (like for dialogs) in the container, which should appears in the Attributemanager. But unfortunately this element is only for dialogs available. Is there a simple way to using this also in the basecontainer of a tag?
regards
Markus -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/05/2012 at 02:34, xxxxxxxx wrote:
Hi Marky,
the following seems to get something showing in R12, you may be able to adapt for R13? I use it in the GetDDescription().cid_Tree = DescLevel(ID_OF_TREE_HERE, CUSTOMGUI_TREEVIEW, 0); if (!id_Tree || cid_Tree.IsPartOf(*id_Tree,NULL)) { BaseContainer locked = GetCustomDataTypeDefault(CUSTOMGUI_TREEVIEW); locked.SetLong(DESC_CUSTOMGUI, CUSTOMGUI_TREEVIEW); locked.SetBool(DESC_HIDE, Data_Bank); locked.SetLong(TREEVIEW_BORDER, BORDER_BLACK); locked.SetBool(TREEVIEW_OUTSIDE_DROP, TRUE); locked.SetBool(TREEVIEW_HAS_HEADER, TRUE); locked.SetLong(DESC_ANIMATE, DESC_ANIMATE_OFF); locked.SetString(DESC_NAME, "Treeview"); locked.SetString(DESC_SHORT_NAME, "Treeview"); if (!description->SetParameter(cid_Tree, locked, DescLevel(ID_TAB_TREEVIEW))) return TRUE; }
Hope this helps!
WP -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/05/2012 at 10:04, xxxxxxxx wrote:
Could you possibly post a more complete example of this WP?
There's a lot off specific resource files needed for this. And I'm having a hard time figuring it out how to recreate all those .h, .res, .str files based on your little .cpp snippet.
-ScottA
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/05/2012 at 17:52, xxxxxxxx wrote:
Hi Scott,
I'll try...!! I'm not really sure what to add being just a beginner at this but...
Basically the code snippet above goes straight into the GetDDescription(). I don't use any external resource files to build the AM. Just a preference I have to keep everything in the same .cpp file I guess. However I did need to add this header:#include "..\..\..\resource\_api\c4d_customgui\customgui_listview.h"
If you search for TREEVIEW in the sdk browser and select the TREEVIEW_Settings you should get a list of flags to use with it. I did have some troubles getting anything to work with what I have above - such as dragging and dropping an object to the list - but I didn't spend much time trying to recreate that side of it.
If you can bare with me for a day or two I'll see if I can add a bit more functionality to it.
Kind regards,
Phil - a.k.a. WickedP! -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/05/2012 at 19:22, xxxxxxxx wrote:
Thanks,
But the problem I'm having is you have some custom things in your code. Things that are not defined in that customgui_listview.h file.
And you don't show where they come from. So they are undefined when I paste your code into my own tag plugin.DescID cid_Tree; cid_Tree = DescLevel(ID_OF_TREE_HERE, CUSTOMGUI_TREEVIEW, 0); //ID_OF_TREE_HERE?...where is this in your files? if(!id_Tree || cid_Tree.IsPartOf(*id_Tree,NULL)) //id_Tree?.......... where is this in your files? { BaseContainer locked = GetCustomDataTypeDefault(CUSTOMGUI_TREEVIEW); locked.SetLong(DESC_CUSTOMGUI, CUSTOMGUI_TREEVIEW); locked.SetBool(DESC_HIDE, Data_Bank); //Data_Bank? ........where is this in your files? locked.SetLong(TREEVIEW_BORDER, BORDER_BLACK); locked.SetBool(TREEVIEW_OUTSIDE_DROP, TRUE); locked.SetBool(TREEVIEW_HAS_HEADER, TRUE); locked.SetLong(DESC_ANIMATE, DESC_ANIMATE_OFF); locked.SetString(DESC_NAME, "Treeview"); locked.SetString(DESC_SHORT_NAME, "Treeview"); if(!description->SetParameter(cid_Tree, locked, DescLevel(ID_TAB_TREEVIEW))) return TRUE; //ID_TAB_TREEVIEW?...where is this in your files? }
Someplace in your code you have these custom things defined.
I've tried to substitute the items that are undefined with various things. But when I do that I can't get a tree gui to show up in my tag's AM at all.-ScottA
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/05/2012 at 19:51, xxxxxxxx wrote:
Ah - my apologies Scott,
I see what you mean now. See if the following is of more help:enum { ID_TAB_TREE = 50000, ID_TAB_TREEVIEW, ID_OF_TREE_HERE, }; // and then the Description function: Bool EXPERIMENTS::GetDDescription(GeListNode *node, Description *description, DESCFLAGS_DESC & flags) { Bool Data_Bank; const DescID *id_Tree = description->GetSingleDescID(); // THE "TREE" TAB Data_Bank = FALSE; DescID cid_Tree = DescLevel(ID_TAB_TREE, DTYPE_GROUP, 0); if (!id_Tree || cid_Tree.IsPartOf(*id_Tree,NULL)) { BaseContainer group = GetCustomDataTypeDefault(DTYPE_GROUP); group.SetBool(DESC_HIDE, Data_Bank); group.SetString(DESC_NAME, "Tree Tab"); group.SetString(DESC_SHORT_NAME, "Tree Tab"); if (!description->SetParameter(cid_Tree, group, DescLevel(0))) return TRUE; } cid_Tree = DescLevel(ID_TAB_TREEVIEW, DTYPE_GROUP, 0); if (!id_Tree || cid_Tree.IsPartOf(*id_Tree,NULL)) { BaseContainer subgroup = GetCustomDataTypeDefault(DTYPE_GROUP); subgroup.SetLong(DESC_COLUMNS, 1); subgroup.SetBool(DESC_HIDE, Data_Bank); subgroup.SetString(DESC_NAME, ""); subgroup.SetString(DESC_SHORT_NAME, ""); if (!description->SetParameter(cid_Tree, subgroup, DescLevel(ID_TAB_TREE))) return TRUE; } cid_Tree = DescLevel(ID_OF_TREE_HERE, CUSTOMGUI_TREEVIEW, 0); if (!id_Tree || cid_Tree.IsPartOf(*id_Tree,NULL)) { BaseContainer locked = GetCustomDataTypeDefault(CUSTOMGUI_TREEVIEW); locked.SetLong(DESC_CUSTOMGUI, CUSTOMGUI_TREEVIEW); locked.SetBool(DESC_HIDE, Data_Bank); locked.SetLong(TREEVIEW_BORDER, BORDER_BLACK); locked.SetBool(TREEVIEW_OUTSIDE_DROP, TRUE); locked.SetBool(TREEVIEW_HAS_HEADER, TRUE); locked.SetLong(DESC_ANIMATE, DESC_ANIMATE_OFF); locked.SetString(DESC_NAME, "Treeview"); locked.SetString(DESC_SHORT_NAME, "Treeview"); if (!description->SetParameter(cid_Tree, locked, DescLevel(ID_TAB_TREEVIEW))) return TRUE; } flags |= DESCFLAGS_DESC_LOADED; return TRUE; }
Is that more of what you were after?
WP. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/05/2012 at 20:08, xxxxxxxx wrote:
Yeah. That's what I needed.
Thanks.-ScottA
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/05/2012 at 23:58, xxxxxxxx wrote:
hi, thanks for your help WP. I will try it out...