void SkinnedDialog::setSize(const Size &size) { if (getSize() == size) return; Dialog::setSize(size); releaseState(); }
void SkinnedDialog::setFilename(const TCHAR *filename) { if (this->filename == filename) return; this->filename = filename; releaseState(); releaseCompiledScript(); }
void XMLObjectCache::enterState(const char *oid, const char *pzClassName, const char *pState ) { releaseState(pzClassName,oid); GString strKey; strKey << oid << pzClassName; gthread_mutex_lock(&m_csState); m_cacheState->Insert((const char *)strKey, (void *)new GString(pState)); gthread_mutex_unlock(&m_csState); }
bool SkinnedDialog::addField(Field *field) { if (Dialog::addField(field)) { releaseCompiledScript(); releaseState(); field->setOnChangeCallback(SkinnedDialog::staticOnFieldChange, this); return true; } else return false; }
DialogState * SkinnedDialog::getState() { if (state != NULL && !fileChanged()) return state; releaseState(); if (filename.size() <= 0) return NULL; if (!compile()) return NULL; state = Dialog::createState(); if (!script->run(state, opts, getInfo())) { releaseState(); return NULL; } return state; }
SkinnedDialog::~SkinnedDialog() { releaseState(); releaseCompiledScript(); }
void SkinnedDialog::onFieldChange(const Field *field) { releaseState(); }