Exemplo n.º 1
0
void
ElevationSettings::on_sSpinBox_editingFinished()
{
    if (elevationSection_->getDegree() > 1)
    {
        updateProperties();
        return;
    }

    QList<ElevationSection *> endPointSections;
    QList<ElevationSection *> startPointSections;
    startPointSections.append(elevationSection_);
    ElevationSection *sectionBefore = elevationSection_->getParentRoad()->getElevationSectionBefore(elevationSection_->getSStart());

    if (sectionBefore)
    {
        if (sectionBefore->getDegree() > 1)
        {
            updateProperties();
            return;
        }
        else
        {
            endPointSections.append(sectionBefore);
        }
    }

    // Command //
    //
    QPointF dPos = QPointF(ui->sSpinBox->value() - elevationSection_->getSStart(), 0.0);
    ElevationMovePointsCommand *command = new ElevationMovePointsCommand(endPointSections, startPointSections, dPos, NULL);

    if (command->isValid())
    {
        getProjectData()->getUndoStack()->push(command);
    }
    else
    {
        delete command;
    }
}
Exemplo n.º 2
0
void ObjectTypesEditor::selectFirstType()
{
    QModelIndex firstIndex = mObjectTypesModel->index(0, 0);
    if (firstIndex.isValid()) {
        mUi->objectTypesTable->selectionModel()->select(firstIndex,
                                                        QItemSelectionModel::ClearAndSelect |
                                                        QItemSelectionModel::Rows);
    } else {
        // make sure the properties view is empty
        updateProperties();
    }
}
Exemplo n.º 3
0
void ShaderEffectItem::setFragmentShader(const QString &code)
{
    if (m_fragment_code.constData() == code.constData())
        return;

    m_fragment_code = code;
    if (isComponentComplete()) {
        reset();
        updateProperties();
    }
    emit fragmentShaderChanged();
}
Exemplo n.º 4
0
void Nasa9Poly1<ValAndDerivType>::updatePropertiesTemp(const doublereal temp, ValAndDerivType* cp_R, ValAndDerivType* h_RT,
        ValAndDerivType* s_R) const
{
    double tPoly[7];
    tPoly[0] = temp;
    tPoly[1] = temp * temp;
    tPoly[2] = tPoly[1] * temp;
    tPoly[3] = tPoly[2] * temp;
    tPoly[4] = 1.0 / temp;
    tPoly[5] = tPoly[4] / temp;
    tPoly[6] = std::log(temp);
    updateProperties(tPoly, cp_R, h_RT, s_R);
}
Exemplo n.º 5
0
  /*
   * Given temperature T in K, this method updates the values of
   * the non-dimensional heat capacity at constant pressure,
   * enthalpy, and entropy, at the reference pressure, Pref
   * of one of the species. The species index is used
   * to reference into the cp_R, h_RT, and s_R arrays.
   *
   * Temperature Polynomial:
   *  tt[0] = t;
   *  tt[1] = t*t;
   *  tt[2] = t*t*t;
   *  tt[3] = t*t*t*t;
   *  tt[4] = 1.0/t;
   *  tt[5] = 1.0/(t*t);
   *  tt[6] = std::log(t);
   *
   * @param temp    Temperature (Kelvin)
   * @param cp_R    Vector of Dimensionless heat capacities.
   *                (length m_kk).
   * @param h_RT    Vector of Dimensionless enthalpies.
   *                (length m_kk).
   * @param s_R     Vector of Dimensionless entropies.
   *                (length m_kk).
   */
  void Nasa9Poly1::updatePropertiesTemp(const doublereal temp, 
					doublereal* cp_R, doublereal* h_RT, 
					doublereal* s_R) const {
    double tPoly[7];
    tPoly[0]  = temp;
    tPoly[1]  = temp * temp;
    tPoly[2]  = tPoly[1] * temp;
    tPoly[3]  = tPoly[2] * temp;
    tPoly[4]  = 1.0 / temp;
    tPoly[5]  = tPoly[4] / temp;
    tPoly[6]  = std::log(temp);
    updateProperties(tPoly, cp_R, h_RT, s_R);
  }
Exemplo n.º 6
0
void MainWindow::on_actionControlProperties_triggered()
{
    QAxWidget *container = activeAxWidget();
    if (!container)
        return;

    if (!dlgProperties) {
	dlgProperties = new ChangeProperties(this);
	connect(container, SIGNAL(propertyChanged(QString)), dlgProperties, SLOT(updateProperties()));
    }
    dlgProperties->setControl(container);
    dlgProperties->show();
}
Exemplo n.º 7
0
void ShaderEffectItem::setVertexShader(const QString &code)
{
    if (m_vertex_code.constData() == code.constData())
        return;

    m_vertex_code = code;
    m_defaultVertexShader = false;
    if (isComponentComplete()) {
        reset();
        updateProperties();
    }
    emit vertexShaderChanged();
}
Exemplo n.º 8
0
void Patch::applyForces(){
  int i, x, y, z, x1, y1, z1;
  // if all forces are received, then it must recompute particles location
  if (forceCount == numNbrs) {
    CkVec<Particle> *outgoing = new CkVec<Particle>[numNbrs];

    // Received all it's forces from the interactions.
    forceCount = 0;
  
    // Update properties on own particles
    updateProperties();

    // sending particles to neighboring cells
    x = thisIndex.x;
    y = thisIndex.y;
    z = thisIndex.z;
    if (stepCount > 0 && (stepCount % migrateStepCount) == 0){
      for(i=0; i<particles.length(); i++) {
	migrateToPatch(particles[i], x1, y1, z1);
	if(x1 !=0 || y1!=0 || z1 !=0) {
	  //CkPrintf("PARTICLE MIGRATING!\n");
	  outgoing[(x1+1)*nbrsY*nbrsZ + (y1+1)*nbrsZ + (z1+1)].push_back(wrapAround(particles[i]));
	  particles.remove(i);
	}
      }
    
   
      for(int num=0; num<numNbrs; num++) {
	x1 = num / (nbrsY * nbrsZ)            - nbrsX/2;
	y1 = (num % (nbrsY * nbrsZ)) / nbrsZ - nbrsY/2;
	z1 = num % nbrsZ                       - nbrsZ/2;

	patchArray(WRAP_X(x+x1), WRAP_Y(y+y1), WRAP_Z(z+z1)).receiveParticles(outgoing[num]);
      }
    }
    else
      incomingFlag = true;

    updateFlag = true;
	      
    // checking whether to proceed with next step
    thisProxy(x, y, z).checkNextStep();
    //checkNextStep();
    delete [] outgoing;
  //  thisProxy(x, y, z).checkNextStep();
    //checkNextStep();
  }
//  else { CkPrintf("forcecount = %d/%d on patch %d %d %d\n", forceCount, numNbrs, thisIndex.x, thisIndex.y, thisIndex.z); }

}
Exemplo n.º 9
0
ElevationSettings::ElevationSettings(ProjectSettings *projectSettings, SettingsElement *parentSettingsElement, ElevationSection *elevationSection)
    : SettingsElement(projectSettings, parentSettingsElement, elevationSection)
    , ui(new Ui::ElevationSettings)
    , elevationSection_(elevationSection)
{
    ui->setupUi(this);

    // Initial Values //
    //
    updateProperties();
    updateHeight();

    //	projectSettings->getProjectWidget()->getTopviewGraph()->getScene()->is
}
Exemplo n.º 10
0
/************************************************************************************
 *
* ***********************************************************************************/
bool FocusLynxF2::RemoteDisconnect()
{
  if (isConnected())
  {
    setConnected(false, IPS_IDLE);
    updateProperties();
  }

  // When called by F1, the PortFD should be -1; For debbug purpose
  PortFD = lynxDriveF1->getPortFD();
  DEBUGF(INDI::Logger::DBG_SESSION,"Remote disconnection: %s is offline.", getDeviceName());
  DEBUGF(INDI::Logger::DBG_SESSION, "Value of F2 PortFD = %d", PortFD);
  return true;
}
Exemplo n.º 11
0
void MoonLiteDRO::remoteDisconnect()
{
    // If not DRO #2, then return immediately.
    if (m_ID != 2)
        return;

    if (isConnected())
    {
      // Otherwise, just set PortFD = -1
      PortFD = -1;
      setConnected(false, IPS_IDLE);
      updateProperties();
    }
}
bool FormWindow::qt_emit( int _id, QUObject* _o )
{
    switch ( _id - staticMetaObject()->signalOffset() ) {
    case 0: showProperties((QObject*)static_QUType_ptr.get(_o+1)); break;
    case 1: updateProperties((QObject*)static_QUType_ptr.get(_o+1)); break;
    case 2: undoRedoChanged((bool)static_QUType_bool.get(_o+1),(bool)static_QUType_bool.get(_o+2),(const QString&)static_QUType_QString.get(_o+3),(const QString&)static_QUType_QString.get(_o+4)); break;
    case 3: selectionChanged(); break;
    case 4: modificationChanged((bool)static_QUType_bool.get(_o+1),(FormWindow*)static_QUType_ptr.get(_o+2)); break;
    case 5: modificationChanged((bool)static_QUType_bool.get(_o+1),(const QString&)static_QUType_QString.get(_o+2)); break;
    case 6: fileNameChanged((const QString&)static_QUType_QString.get(_o+1),(FormWindow*)static_QUType_ptr.get(_o+2)); break;
    default:
	return QWidget::qt_emit(_id,_o);
    }
    return TRUE;
}
Exemplo n.º 13
0
bool IOHIKeyboard::resetKeyboard()
// Description:	Reset the keymapping to the default value and reconfigure
//		the keyboards.
{
    const unsigned char *defaultKeymap;
    UInt32	defaultKeymapLength;

    IOLockLock( _deviceLock);

    if ( _keyMap )
		_keyMap->release();

    // Set up default keymapping.
    defaultKeymap = defaultKeymapOfLength(&defaultKeymapLength);

    _keyMap = IOHIKeyboardMapper::keyboardMapper( this,
                                                  defaultKeymap,
                                                  defaultKeymapLength,
                                                  false );

    if (_keyMap)
    {
		// point the new keymap to the IOHIDSystem, so it can set properties in it
		_keyMap->setKeyboardTarget((IOService *) _keyboardEventTarget);

        clock_interval_to_absolutetime_interval( EV_DEFAULTKEYREPEAT,
                                                 kNanosecondScale, &_keyRepeat);
        clock_interval_to_absolutetime_interval( EV_DEFAULTINITIALREPEAT,
                                                 kNanosecondScale, &_initialKeyRepeat);
    }

    updateProperties();
    
    _interfaceType = interfaceID();
    _deviceType    = deviceType();
    _guid	   = getGUID();

    if (getProperty("HIDKeyboardKeysDefined"))
    {
        KeyboardReserved * reservedStruct = GetKeyboardReservedStructEventForService(this);
        
        if ( reservedStruct && !reservedStruct->keyboardNub)
            reservedStruct->keyboardNub = IOHIDKeyboardDevice::newKeyboardDeviceAndStart(this);
    }

    IOLockUnlock( _deviceLock);
    return (_keyMap) ? true : false;
}
Exemplo n.º 14
0
bool StarbookDriver::Disconnect()
{
    if (isConnected()) {
        bool rc = Telescope::Disconnect();
        last_known_state = starbook::UNKNOWN;
        // Disconnection is successful, set it IDLE and updateProperties.
        if (rc) {
            setConnected(false, IPS_IDLE);
            updateProperties();
        } else
            setConnected(true, IPS_ALERT);
        return rc;
    } else {
        return false;
    }
}
AuthorPropertyWidget::AuthorPropertyWidget(data::models::Author *author,
                                           QWidget              *parent)
    : PropertyWidget{WIDGET_TITLE, parent},
      m_pLblEmail{new QLabel{LBL_EMAIL, this}},
      m_pLblWebsite{new QLabel{LBL_WEBSITE, this}},
      m_pTxtEmail{new QLineEdit{this}},
      m_pTxtWebsite{new QLineEdit{this}}
{
    addRow(m_pLblEmail, m_pTxtEmail);
    addRow(m_pLblWebsite, m_pTxtWebsite);

    setToolTip(WIDGET_TITLE);

    setReadonly(true);
    updateProperties(author);

    connectContentsChangingSignals();
}
Exemplo n.º 16
0
void
ElevationSettings::on_slopeSpinBox_editingFinished()
{
    if (elevationSection_->getDegree() > 1)
    {
        updateProperties();
        return;
    }

    QList<ElevationSection *> endPointSections;
    QList<ElevationSection *> startPointSections;
    endPointSections.append(elevationSection_);
    ElevationSection *sectionNext = elevationSection_->getParentRoad()->getElevationSectionNext(elevationSection_->getSStart());
    if (sectionNext)
    {
        if (sectionNext->getDegree() > 1)
        {
            return;
        }
        else
        {
            startPointSections.append(sectionNext);
        }
    }

    // Command //
    //
    double s = 100 * abs(elevationSection_->getElevation(elevationSection_->getSStart()) - elevationSection_->getElevation(elevationSection_->getSEnd())) / ui->slopeSpinBox->value() + elevationSection_->getSStart();
    if (s < elevationSection_->getParentRoad()->getLength())
    {
        QPointF dPos = QPointF(s - sectionNext->getSStart(), 0.0);
        ElevationMovePointsCommand *command = new ElevationMovePointsCommand(endPointSections, startPointSections, dPos, NULL);

        if (command->isValid())
        {
            getProjectData()->getUndoStack()->push(command);
        }
        else
        {
            delete command;
        }
    }
}
Exemplo n.º 17
0
void ImageSourceSeries::onFindFiles() {
    std::string path{imageFileDirectory_.get()};
    if (!path.empty()) {
        std::vector<std::string> files = filesystem::getDirectoryContents(path);

        fileList_.clear();
        for (std::size_t i = 0; i < files.size(); i++) {
            if (isValidImageFile(files[i])) {
                std::string fileName = filesystem::getFileNameWithExtension(files[i]);
                fileList_.push_back(fileName);
            }
        }
        if (fileList_.empty()) {
            LogWarn("No images found in \"" << imageFileDirectory_.get() << "\"");
        }
    }

    updateProperties();
}
Exemplo n.º 18
0
/**
 * Creates a ImageDisk representation if there isn't an object already defined.
 **/
void ImageSourceSeries::process() {
    if (fileList_.empty()) return;

    std::string basePath{imageFileDirectory_.get()};
    long currentIndex = currentImageIndex_.get() - 1;
    if ((currentIndex < 0) || (currentIndex >= static_cast<long>(fileList_.size()))) {
        LogError("Invalid image index. Exceeded number of files.");
        return;
    }

    std::string currentFileName{basePath + "/" + fileList_[currentIndex]};
    imageFileName_.set(fileList_[currentIndex]);

    std::string fileExtension = filesystem::getFileExtension(currentFileName);
    auto factory = getNetwork()->getApplication()->getDataReaderFactory();
    if (auto reader = factory->getReaderForTypeAndExtension<Layer>(fileExtension)) {
        try {
            auto outLayer = reader->readData(currentFileName);
            // Call getRepresentation here to force read a ram representation.
            // Otherwise the default image size, i.e. 256x265, will be reported
            // until you do the conversion. Since the LayerDisk does not have any metadata.
            auto ram = outLayer->getRepresentation<LayerRAM>();
            // Hack needs to set format here since LayerDisk does not have a format.
            outLayer->setDataFormat(ram->getDataFormat());

            auto outImage = std::make_shared<Image>(outLayer);
            outImage->getRepresentation<ImageRAM>();

            outport_.setData(outImage);
        } catch (DataReaderException const& e) {
            util::log(e.getContext(),
                      "Could not load data: " + imageFileName_.get() + ", " + e.getMessage(),
                      LogLevel::Error);
        }
    } else {
        LogWarn("Could not find a data reader for file: " << currentFileName);
        // remove file from list
        fileList_.erase(fileList_.begin() + currentIndex);
        // adjust index property
        updateProperties();
    }
}
Exemplo n.º 19
0
void DlgPass::OnSelectPipeline(wxCommandEvent& event) {

	wxString selName;
	selName = event.GetString();

	Pipeline *pip = RENDERMANAGER->getPipeline(std::string(selName.mb_str()));
	std::vector<std::string> *passes = pip->getPassNames();

	m_PassList->Clear();
	std::vector<std::string>::iterator iter;
	for (iter = passes->begin(); iter != passes->end(); ++iter)
		m_PassList->Append(wxString(iter->c_str()));

	delete passes;
	m_PassList->SetSelection(0);
		
	Pass *p = getPass();
	updateMaterialList();
	updateProperties(p) ;
}
Exemplo n.º 20
0
void DlgPass::OnSelectPipeline(wxCommandEvent& event) {

	wxString selName;
	selName = event.GetString();

	std::shared_ptr<Pipeline> &pip = RENDERMANAGER->getPipeline(std::string(selName.mb_str()));
	std::vector<std::string> passes;
	pip->getPassNames(&passes);

	m_PassList->Clear();
	
	for (auto &name:passes)
		m_PassList->Append(wxString(name.c_str()));

	m_PassList->SetSelection(0);
		
	Pass *p = getPass();
	updateMaterialList();
	updateProperties(p) ;
}
Exemplo n.º 21
0
RoadSettings::RoadSettings(ProjectSettings *projectSettings, SettingsElement *parentSettingsElement, RSystemElementRoad *road)
    : SettingsElement(projectSettings, parentSettingsElement, road)
    , ui(new Ui::RoadSettings)
    , road_(road)
    , init_(false)
{
    prototypeManager_ = getProjectSettings()->getProjectWidget()->getMainWindow()->getPrototypeManager();

    ui->setupUi(this);
    addLaneSectionPrototypes();

    // Initial Values //
    //
    updateProperties();
    updateRoadLinks();
    //	updateSectionCount();

    connect(ui->nameBox, SIGNAL(editingFinished()), this, SLOT(on_editingFinished()));
    init_ = true;
}
Exemplo n.º 22
0
void
ObjectSettings::updateObserver()
{

    // Parent //
    //
    SettingsElement::updateObserver();
    if (isInGarbage())
    {
        return; // no need to go on
    }

    // Object //
    //
    int changes = object_->getObjectChanges();

	if ((changes & Object::CEL_ParameterChange) || (changes & Object::CEL_TypeChange))
    {
        updateProperties();
    }
}
Exemplo n.º 23
0
/**
 * @param aPosition position in the sequencer where this event starts playing
 * @param aLength length (in sequencer steps) of this event
 * @param aInstrument the SynthInstrument whose properties will be used for synthesizing this event
 *                    can be NULL to keep the current SynthInstrument, if not null the current
 *                    SynthInstrument is replaced
 */
void BaseSynthEvent::invalidateProperties( int aPosition, float aLength, SynthInstrument *aInstrument )
{
    // swap instrument if new one is different to existing reference
    if ( aInstrument != 0 && _instrument != aInstrument )
    {
        removeFromSequencer();
        _instrument = aInstrument;
        addToSequencer();
    }
    position = aPosition;
    length   = aLength;

    // is this event caching ?

    if ( AudioEngineProps::EVENT_CACHING && !_cachingCompleted ) _cancel = true;

    if ( _rendering )
        _update = true;     // we're rendering, request update from within render loop
    else
        updateProperties(); // instant update as we're not rendering
}
Exemplo n.º 24
0
void
SignalSettings::updateObserver()
{

    // Parent //
    //
    SettingsElement::updateObserver();
    if (isInGarbage())
    {
        return; // no need to go on
    }

    // Signal //
    //
    int changes = signal_->getSignalChanges();

    if ((changes & Signal::CEL_ParameterChange) || (changes & Signal::CEL_TypeChange))
    {
        updateProperties();
    }
}
Exemplo n.º 25
0
    void DialogDistance::changeDistance(double new_distance)
    {
      //Vector delta = (direction-origin).getNormalized()*(new_distance-original_distance);
      utils::Vector delta = (direction-origin).normalized()*(new_distance-original_distance);

      switch (selectedNodes.size()) {
      case 0:
      case 1:
        control->joints->setReloadAnchor(second.index, second.pos + delta);
        break;
    
      case 2: // node - node
        {
          interfaces::NodeData moveNode = control->nodes->getFullNode(second.index);
          moveNode.pos += delta;
          control->nodes->editNode(&moveNode, interfaces::EDIT_NODE_POS);
        }      
      }
  
      updateProperties();
    }
Exemplo n.º 26
0
  /*
   * Given temperature T in K, this method updates the values of
   * the non-dimensional heat capacity at constant pressure,
   * enthalpy, and entropy, at the reference pressure, Pref
   * of one of the species. The species index is used
   * to reference into the cp_R, h_RT, and s_R arrays.
   *
   * Temperature Polynomial:
   *  tt[0] = t;
   *  tt[1] = t*t;
   *  tt[2] = t*t*t;
   *  tt[3] = t*t*t*t;
   *  tt[4] = 1.0/t;
   *  tt[5] = 1.0/(t*t);
   *  tt[6] = std::log(t);
   *
   * @param temp    Temperature (Kelvin)
   * @param cp_R    Vector of Dimensionless heat capacities.
   *                (length m_kk).
   * @param h_RT    Vector of Dimensionless enthalpies.
   *                (length m_kk).
   * @param s_R     Vector of Dimensionless entropies.
   *                (length m_kk).
   */
  void Nasa9PolyMultiTempRegion::updatePropertiesTemp(const doublereal temp, 
					doublereal* cp_R, doublereal* h_RT, 
					doublereal* s_R) const {
    double tPoly[7];
    tPoly[0]  = temp;
    tPoly[1]  = temp * temp;
    tPoly[2]  = tPoly[1] * temp;
    tPoly[3]  = tPoly[2] * temp;
    tPoly[4]  = 1.0 / temp;
    tPoly[5]  = tPoly[4] / temp;
    tPoly[6]  = std::log(temp);
    // Now find the region
    m_currRegion = 0;
    for (size_t i = 1; i < m_numTempRegions; i++) {
      if (temp < m_lowerTempBounds[i]) {
	break;
      }
      m_currRegion++;
    }

    updateProperties(tPoly, cp_R, h_RT, s_R);
  }
Exemplo n.º 27
0
ControllerSettings::ControllerSettings(ProjectSettings *projectSettings, SettingsElement *parentSettingsElement, RSystemElementController *controller)
    : SettingsElement(projectSettings, parentSettingsElement, controller)
    , ui(new Ui::ControllerSettings)
    , controller_(controller)
    , init_(false)
    , valueChanged_(true)
{
    ui->setupUi(this);

    // Initial Values //
    //
    updateProperties();
    updateControlEntries();

    connect(ui->nameBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished()));
    connect(ui->nameBox, SIGNAL(textChanged(const QString&)), this, SLOT(onValueChanged()));
    connect(ui->sequenceSpinBox, SIGNAL(valueChanged(int)), this, SLOT(onEditingFinished(int)));
    connect(ui->scriptLineEdit, SIGNAL(editingFinished()), this, SLOT(onEditingFinished()));
    connect(ui->scriptLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(onValueChanged()));
    connect(ui->cycleTimeSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onEditingFinished(double)));

    init_ = true;
}
Exemplo n.º 28
0
bool IOHIDevice::start(IOService * provider) 
{
    if (!super::start(provider))
        return false;
   
    // RY: If the kIOHIDVirtualHIDevice property isn't
    // set scan the up provider chain to determine if
    // this is a resource or if the provider is another
    // IOHIDevice.  Also propegate value is property
    // was already set in provider.
    if (!getProperty(kIOHIDVirtualHIDevice)) {
        OSObject * prop;

        while (provider) {
            prop = provider->copyProperty(kIOHIDVirtualHIDevice);
            if ( OSDynamicCast(OSBoolean, prop) ) {
                setProperty(kIOHIDVirtualHIDevice, prop);
                break;
            }
            else if ( provider == getResourceService() || OSDynamicCast(IOHIDevice, provider) ) {
                setProperty(kIOHIDVirtualHIDevice, kOSBooleanTrue);
                break;
            }

            provider = provider->getProvider();
            OSSafeReleaseNULL(prop);
        }
        OSSafeReleaseNULL(prop);
        
        if ( !provider )
            setProperty(kIOHIDVirtualHIDevice, kOSBooleanFalse);
    }
    
    updateProperties();
    
    return true;
}
Exemplo n.º 29
0
    void DialogDistance::selectObjects() {
  
      static bool select_allowed = true;

      if (select_allowed == false)
        return;

      QList<QListWidgetItem*> selectedItems = objectList->selectedItems();

      if (selectedItems.size() < 2) 
        return;
  
      select_allowed = false;

      while (selectedItems.size() > 2) {
        selectedItems.front()->setSelected(false);
        selectedItems.pop_front();
      }

      selectedNodes.clear();
      selectedJoints.clear();

      for (unsigned int i = 0 ; i < (unsigned int)selectedItems.size(); i++) {
        int m = selectedItems[i]->text().indexOf(" ");
        int n = selectedItems[i]->text().indexOf(":");
        unsigned long object_id = selectedItems[i]->text().mid(m, n-m).toULong();
        if (selectedItems[i]->text().left(m) == "Node") 
          selectedNodes.push_back(object_id);
        else 
          selectedJoints.push_back(object_id);
      }

      updateProperties();
 
      select_allowed = true;
    }
bool MainWindow::qt_invoke( int _id, QUObject* _o )
{
    switch ( _id - staticMetaObject()->slotOffset() ) {
    case 0:
        showProperties((QObject*)static_QUType_ptr.get(_o+1));
        break;
    case 1:
        updateProperties((QObject*)static_QUType_ptr.get(_o+1));
        break;
    case 2:
        showDialogHelp();
        break;
    case 3:
        showDebugStep((QObject*)static_QUType_ptr.get(_o+1),(int)static_QUType_int.get(_o+2));
        break;
    case 4:
        showStackFrame((QObject*)static_QUType_ptr.get(_o+1),(int)static_QUType_int.get(_o+2));
        break;
    case 5:
        showErrorMessage((QObject*)static_QUType_ptr.get(_o+1),(int)static_QUType_int.get(_o+2),(const QString&)static_QUType_QString.get(_o+3));
        break;
    case 6:
        finishedRun();
        break;
    case 7:
        breakPointsChanged();
        break;
    case 8:
        fileNew();
        break;
    case 9:
        fileNewDialog();
        break;
    case 10:
        fileNewFile();
        break;
    case 11:
        fileClose();
        break;
    case 12:
        fileQuit();
        break;
    case 13:
        fileCloseProject();
        break;
    case 14:
        fileOpen();
        break;
    case 15:
        fileOpen((const QString&)static_QUType_QString.get(_o+1),(const QString&)static_QUType_QString.get(_o+2));
        break;
    case 16:
        fileOpen((const QString&)static_QUType_QString.get(_o+1),(const QString&)static_QUType_QString.get(_o+2),(const QString&)static_QUType_QString.get(_o+3));
        break;
    case 17:
        fileOpen((const QString&)static_QUType_QString.get(_o+1),(const QString&)static_QUType_QString.get(_o+2),(const QString&)static_QUType_QString.get(_o+3),(bool)static_QUType_bool.get(_o+4));
        break;
    case 18:
        static_QUType_bool.set(_o,fileSave());
        break;
    case 19:
        static_QUType_bool.set(_o,fileSaveForm());
        break;
    case 20:
        static_QUType_bool.set(_o,fileSaveProject());
        break;
    case 21:
        static_QUType_bool.set(_o,fileSaveAs());
        break;
    case 22:
        fileSaveAll();
        break;
    case 23:
        fileCreateTemplate();
        break;
    case 24:
        editUndo();
        break;
    case 25:
        editRedo();
        break;
    case 26:
        editCut();
        break;
    case 27:
        editCopy();
        break;
    case 28:
        editPaste();
        break;
    case 29:
        editDelete();
        break;
    case 30:
        editSelectAll();
        break;
    case 31:
        editLower();
        break;
    case 32:
        editRaise();
        break;
    case 33:
        editAdjustSize();
        break;
    case 34:
        editLayoutHorizontal();
        break;
    case 35:
        editLayoutVertical();
        break;
    case 36:
        editLayoutHorizontalSplit();
        break;
    case 37:
        editLayoutVerticalSplit();
        break;
    case 38:
        editLayoutGrid();
        break;
    case 39:
        editLayoutContainerHorizontal();
        break;
    case 40:
        editLayoutContainerVertical();
        break;
    case 41:
        editLayoutContainerGrid();
        break;
    case 42:
        editBreakLayout();
        break;
    case 43:
        editAccels();
        break;
    case 44:
        editFunctions();
        break;
    case 45:
        editConnections();
        break;
    case 46:
        static_QUType_ptr.set(_o,editSource());
        break;
    case 47:
        static_QUType_ptr.set(_o,editSource((SourceFile*)static_QUType_ptr.get(_o+1)));
        break;
    case 48:
        static_QUType_ptr.set(_o,openSourceEditor());
        break;
    case 49:
        static_QUType_ptr.set(_o,createSourceEditor((QObject*)static_QUType_ptr.get(_o+1),(Project*)static_QUType_ptr.get(_o+2)));
        break;
    case 50:
        static_QUType_ptr.set(_o,createSourceEditor((QObject*)static_QUType_ptr.get(_o+1),(Project*)static_QUType_ptr.get(_o+2),(const QString&)static_QUType_QString.get(_o+3)));
        break;
    case 51:
        static_QUType_ptr.set(_o,createSourceEditor((QObject*)static_QUType_ptr.get(_o+1),(Project*)static_QUType_ptr.get(_o+2),(const QString&)static_QUType_QString.get(_o+3),(const QString&)static_QUType_QString.get(_o+4)));
        break;
    case 52:
        static_QUType_ptr.set(_o,createSourceEditor((QObject*)static_QUType_ptr.get(_o+1),(Project*)static_QUType_ptr.get(_o+2),(const QString&)static_QUType_QString.get(_o+3),(const QString&)static_QUType_QString.get(_o+4),(bool)static_QUType_bool.get(_o+5)));
        break;
    case 53:
        editFormSettings();
        break;
    case 54:
        editProjectSettings();
        break;
    case 55:
        editPixmapCollection();
        break;
    case 56:
        editDatabaseConnections();
        break;
    case 57:
        editPreferences();
        break;
    case 58:
        projectInsertFile();
        break;
    case 59:
        searchFind();
        break;
    case 60:
        searchIncremetalFindMenu();
        break;
    case 61:
        searchIncremetalFind();
        break;
    case 62:
        searchIncremetalFindNext();
        break;
    case 63:
        searchReplace();
        break;
    case 64:
        searchGotoLine();
        break;
    case 65:
        previewForm();
        break;
    case 66:
        previewForm((const QString&)static_QUType_QString.get(_o+1));
        break;
    case 67:
        toolsCustomWidget();
        break;
    case 68:
        toolsConfigure();
        break;
    case 69:
        helpContents();
        break;
    case 70:
        helpManual();
        break;
    case 71:
        helpAbout();
        break;
    case 72:
        helpAboutQt();
        break;
    case 73:
        helpRegister();
        break;
    case 74:
        activeWindowChanged((QWidget*)static_QUType_ptr.get(_o+1));
        break;
    case 75:
        updateUndoRedo((bool)static_QUType_bool.get(_o+1),(bool)static_QUType_bool.get(_o+2),(const QString&)static_QUType_QString.get(_o+3),(const QString&)static_QUType_QString.get(_o+4));
        break;
    case 76:
        updateEditorUndoRedo();
        break;
    case 77:
        toolSelected((QAction*)static_QUType_ptr.get(_o+1));
        break;
    case 78:
        clipboardChanged();
        break;
    case 79:
        selectionChanged();
        break;
    case 80:
        windowsMenuActivated((int)static_QUType_int.get(_o+1));
        break;
    case 81:
        setupWindowActions();
        break;
    case 82:
        createNewTemplate();
        break;
    case 83:
        projectSelected((QAction*)static_QUType_ptr.get(_o+1));
        break;
    case 84:
        setupRecentlyFilesMenu();
        break;
    case 85:
        setupRecentlyProjectsMenu();
        break;
    case 86:
        recentlyFilesMenuActivated((int)static_QUType_int.get(_o+1));
        break;
    case 87:
        recentlyProjectsMenuActivated((int)static_QUType_int.get(_o+1));
        break;
    case 88:
        emitProjectSignals();
        break;
    case 89:
        showStartDialog();
        break;
    case 90:
        doFunctionsChanged();
        break;
    case 91:
        static_QUType_bool.set(_o,openProjectSettings((Project*)static_QUType_ptr.get(_o+1)));
        break;
    default:
        return QMainWindow::qt_invoke( _id, _o );
    }
    return TRUE;
}