SplineGUI for plugin
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 02/11/2012 at 02:35, xxxxxxxx wrote:
I'm trying to create a python plugin (not a tag) with a SplineGui in it.
The result is a small square, but nothing else.
I'm not able to initialize it.Here is the code:
import c4d
import os
from c4d import gui, plugins, bitmaps, utils, documentsPLUGIN_ID = 10281843 #Test ID!
MY_SPLINE = 40001class SettingsDialog(gui.SubDialog) :
def CreateLayout(self) :
self.GroupBegin(id=1002, flags=c4d.BFH_FIT)
self.splineBox = self.AddCustomGui(MY_SPLINE, c4d.CUSTOMGUI_SPLINE, "", c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT, 0, 0)self.GroupEnd()
return True
def InitValues(self) :
self.sd = c4d.SplineData()
self.sd.MakeLinearSplineBezier(3)#data = doc.GetDataInstance() #BaseContainer for the tag - for plugin???
#data.SetData(MY_SPLINE, self.sd) #Execute the splineGUI changes from memoryreturn True
def Command(self, id, msg) :
return Trueclass ASSP(plugins.ToolData) :
def __init__(self) :
self.data = dict() #container
def AllocSubDialog(self, bc) :
return SettingsDialog(self.data) #always return new instance(self.data)if __name__ == "__main__":
bmp = bitmaps.BaseBitmap()
dir, file = os.path.split(__file__)
fn = os.path.join(dir, "res", "Icon.tif")
bmp.InitWith(fn)
okyn = plugins.RegisterToolPlugin(id=PLUGIN_ID, str="SplineControl",info=0, icon=bmp, help="Statusbar Text",dat=ASSP())
if (okyn) : print "SplineControl Plugin V09 initialized." -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 02/11/2012 at 02:38, xxxxxxxx wrote:
Note: I do not want to use a res file.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/11/2012 at 03:35, xxxxxxxx wrote:
Hi pgroof,
Take a closer look at the documentation of GeDialog.AddCustomGui() :
>GeDialog.AddCustomGui
( id , pluginid , name , flags , minw , minh [, customdata ])
The last argument, customdata, can be a container that contains parameters for the
custom-gui that is being added. You can find the symbols for the container in the
documentation for SplineCustomGui class. Here's an example:bc = c4d.BaseContainer() bc[c4d.SPLINECONTROL_GRID_H] = True bc[c4d.SPLINECONTROL_GRID_V] = True bc[c4d.SPLINECONTROL_VALUE_EDIT_H] = True bc[c4d.SPLINECONTROL_VALUE_EDIT_V] = True bc[c4d.SPLINECONTROL_VALUE_LABELS_H] = True bc[c4d.SPLINECONTROL_VALUE_LABELS_V] = True bc[c4d.SPLINECONTROL_X_MIN] = 0 bc[c4d.SPLINECONTROL_X_MAX] = 1 bc[c4d.SPLINECONTROL_X_STEPS] = 0.1 bc[c4d.SPLINECONTROL_Y_MIN] = 0 bc[c4d.SPLINECONTROL_Y_MAX] = 1 bc[c4d.SPLINECONTROL_Y_STEPS] = 0.1 bc[c4d.SPLINECONTROL_PRESET_BTN] = True bc[c4d.SPLINECONTROL_ROUND_SLIDER] = True self.spline_gui = self.AddCustomGui( MY_SPLINE, c4d.CUSTOMGUI_SPLINE, "Spline", c4d.BFH_SCALEFIT|c4d.BFV_SCALEFIT, 0, 0, bc )
Best,
Niklas -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/11/2012 at 05:30, xxxxxxxx wrote:
Ah, thanks.
I read about this solution here on the forum, but I thought that the post stated it did not work.
For me it is working, thanks again.