&& !myPort->Node()->IsMacro())
popup->insertItem(tr("ITM_COPY_PORT"), this, SLOT(copy()));
-//int anItem = popup->insertItem(tr("MSG_BROWSE"), this, SLOT(browse()));
+ /*int anItem = */popup->insertItem(tr("MSG_BROWSE"), this, SLOT(browse()));
// if (getEngine()->IsLinked())
// popup->setItemEnabled(anItem, getEngine()->State() == SUPERV_Ready);
// else
void SUPERVGUI_CanvasPortIn::setInput()
{
- getMain()->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag
+ // asv 28.01.05 : set "Editing" flag only on "OK" pressed in BrowseDlg
+ //getMain()->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag
if (!myDlg) {
myDlg = new SUPERVGUI_GetValueDlg(this);
myDlg->installEventFilter(this);
void SUPERVGUI_CanvasPortOut::sync()
{
+ /* asv : 26.01.05 : Bug PAL7164 : sometimes CanvasPortOut::sync() is called twice (or maybe even more)
+ by mistake. It happens because of incorrect Qt events, or other reason, but it is not a
+ stable feature (bug). Adding an object in the study in sync() is therefore called more than once
+ which is a BUG. I decided to move call to putDataStudy() method to Event handling function.
+ When a node successfully finishes execution - check the ports and put out-value to study,
+ if the corresponding flag is set.
bool ok = getEngine()->State() == SUPERV_Ready;
if (ok && myInStudy) {
myInStudy = getMain()->putDataStudy(getEngine(), STUDY_PORT_OUT);
}
+ */
SUPERVGUI_CanvasPort::update();
}
{
Trace("SUPERVGUI_CanvasPortOut::toStudy");
- if (getMain()->getStudy()->getStudyDocument()->GetProperties()->IsLocked()) {
+ // asv 08.02.05 : added && !myInStudy - fix for PAL8105
+ if ( getMain()->getStudy()->getStudyDocument()->GetProperties()->IsLocked() && !myInStudy ) {
QMessageBox::warning(QAD_Application::getDesktop(), tr("WRN_WARNING"),
tr("WRN_STUDY_LOCKED"));
return;
}
- if (!getMain()->isFromStudy()) {
- if (getMain()->addStudy())
- getMain()->setAsFromStudy(true);
- }
myInStudy = !myInStudy;
sync();
getMain()->getCanvas()->update();
+
+ if ( myInStudy ) // put values to study (supervision, supervision->dataflow, supervision->dataflow->runXXX, etc.
+ getMain()->putDataStudy( getEngine(), STUDY_PORT_OUT );
}