PyPanel::PyPanel(const QString& scriptName, const QString& label, bool useUserParameters, GuiApp* app) : QWidget( app->getGui() ) , UserParamHolder() , PanelWidget(scriptName.toStdString(), this, app->getGui() ) , _imp( new PyPanelPrivate() ) { setLabel( label.toStdString() ); int idx = 1; std::string name = NATRON_PYTHON_NAMESPACE::makeNameScriptFriendly( scriptName.toStdString() ); PanelWidget* existing = 0; existing = getGui()->findExistingTab(name); while (existing) { std::stringstream ss; ss << name << idx; existing = getGui()->findExistingTab( ss.str() ); if (!existing) { name = ss.str(); } ++idx; } setScriptName(name); if (useUserParameters) { _imp->holder = DialogParamHolder::create( QString::fromUtf8( name.c_str() ), getGui()->getApp(), this ); setHolder(_imp->holder); _imp->holder->initializeKnobsPublic(); _imp->mainLayout = new QVBoxLayout(this); _imp->mainLayout->setContentsMargins(0, 0, 0, 0); _imp->centerContainer = new QWidget(this); _imp->centerLayout = new QVBoxLayout(_imp->centerContainer); _imp->centerLayout->setContentsMargins(0, 0, 0, 0); _imp->panel = new DockablePanel(getGui(), _imp->holder, _imp->mainLayout, DockablePanel::eHeaderModeNoHeader, false, boost::shared_ptr<QUndoStack>(), QString(), QString(), _imp->centerContainer); _imp->panel->turnOffPages(); _imp->centerLayout->insertWidget(0, _imp->panel); _imp->mainLayout->addWidget(_imp->centerContainer); _imp->mainLayout->addStretch(); } }
void TabWidgetI::fromSerialization(const SERIALIZATION_NAMESPACE::SerializationObjectBase& serializationBase) { const SERIALIZATION_NAMESPACE::TabWidgetSerialization* serialization = dynamic_cast<const SERIALIZATION_NAMESPACE::TabWidgetSerialization*>(&serializationBase); if (!serialization) { return; } setScriptName(serialization->scriptName); setAsAnchor(serialization->isAnchor); setTabsFromScriptNames(serialization->tabs); setCurrentIndex(serialization->currentIndex); }
BOOL CModuleType::save() { char sysDirScripts [FILE_MAX_PATHLEN]; char sysDirModules [FILE_MAX_PATHLEN]; char sysDirIcons [FILE_MAX_PATHLEN]; if (RegKeyGetValue(REGKEY_SECTION_PATHNAME, REGKEY_KEY_SCRIPTS_PATHNAME, sysDirScripts) == FALSE) strcpy(sysDirScripts, "scripts\\"); if (RegKeyGetValue(REGKEY_SECTION_PATHNAME, REGKEY_KEY_MODULES_PATHNAME, sysDirModules) == FALSE) strcpy(sysDirModules, "modules\\"); if (RegKeyGetValue(REGKEY_SECTION_PATHNAME, REGKEY_KEY_ICONS_PATHNAME, sysDirIcons) == FALSE) strcpy(sysDirIcons, "icons\\"); char outFnameScripts [FILE_MAX_FILENAME]; char outFnameModules [FILE_MAX_FILENAME]; char outFnameIcons [FILE_MAX_FILENAME]; sprintf(outFnameModules, "%s%s%s.%s", sysDirModules, getClassName(), getName(), MODULE_FILE_EXTENTION); strcpy(outFnameScripts, getScriptName()); FileChangePathName(outFnameScripts, sysDirScripts); sprintf(outFnameIcons, "%s%s%s.%s", sysDirIcons, getClassName(), getName(), ICON_FILE_EXTENTION); // Copy a icon and script files into system directry. BOOL bCopiedScriptFile = FileCopy(getScriptName(), outFnameScripts); BOOL bCopiedIconFile = FileCopy(getIconName(), outFnameIcons); if (!bCopiedScriptFile || !bCopiedIconFile) return FALSE; // Strip the directory name in a icon and scrpit file name. char scriptFilename [FILE_MAX_FILENAME]; char iconFilename [FILE_MAX_FILENAME]; strcpy(scriptFilename, getScriptName()); FileStripPathName(scriptFilename); setScriptName(scriptFilename); sprintf(iconFilename, "%s%s.%s", getClassName(), getName(), ICON_FILE_EXTENTION); setIconName(iconFilename); // Save this module infomation into a file return save(outFnameModules); }
BOOL CModuleType::load(char *fname) { char buffer[LINE_LENGTH_MAX]; ifstream fin(fname); if (!fin) return FALSE; fin.ignore(LINE_LENGTH_MAX, '\n'); char className [NAME_LENGTH_MAX]; char moduleName [NAME_LENGTH_MAX]; char attribute [NAME_LENGTH_MAX]; char scriptName [NAME_LENGTH_MAX]; char iconName [NAME_LENGTH_MAX]; fin >> buffer >> className; fin >> buffer >> moduleName; fin >> buffer >> attribute; fin >> buffer >> scriptName; fin >> buffer >> iconName; setClassName(className); setName(moduleName); setAttribure(!StringCompare(attribute, MODULETYPE_ATTRIBUTE_SYSTEM_STRING) ? MODULETYPE_ATTRIBUTE_SYSTEM : MODULETYPE_ATTRIBUTE_USER); setScriptName(scriptName); setIconName(iconName); char fieldType [NAME_LENGTH_MAX]; char fieldName [NAME_LENGTH_MAX]; int n; for (n=0; n<MODULE_INOUTNODE_MAXNUM; n++) { fin >> buffer >> fieldType >> fieldName; if (strcmp(fieldType, "NULL") != 0) { mEventInType[n]->setType(fieldType); mEventInType[n]->setName(fieldName); } else { mEventInType[n]->setType(fieldTypeNone); mEventInType[n]->setName(NULL); } } for (n=0; n<MODULE_INOUTNODE_MAXNUM; n++) { fin >> buffer >> fieldType >> fieldName; if (strcmp(fieldType, "NULL") != 0) { mEventOutType[n]->setType(fieldType); mEventOutType[n]->setName(fieldName); } else { mEventOutType[n]->setType(fieldTypeNone); mEventOutType[n]->setName(NULL); } } char executionNode[NAME_LENGTH_MAX]; fin >> buffer >> executionNode; (strcmp(executionNode, "TRUE") == 0) ? setExecutionNode(TRUE) : setExecutionNode(FALSE); // Default EventOut Route char eventOutFieldTypeName[NAME_LENGTH_MAX]; char targetEventInFieldName[NAME_LENGTH_MAX]; fin >> buffer >> eventOutFieldTypeName >> targetEventInFieldName; /* setTargetNodeFieldTypeName(eventOutFieldTypeName); setTargetNodeFieldName(targetEventInFieldName); */ check(); return TRUE; }