Logo Search packages:      
Sourcecode: wims version File versions

Inserts a display of the operator symbol that the display laid by the instance represents.

Reimplemented in fr::ove::openmath::jome::ctrlview::bidim::BasicStringInfixOperatorLayout.

Definition at line 61 of file InfixOperatorLayout.java.

References fr::ove::openmath::jome::ctrlview::bidim::Display::add(), fr::ove::openmath::jome::ctrlview::bidim::Display::addControlListener(), fr::ove::openmath::jome::ctrlview::bidim::Display::adjustRank(), fr::ove::openmath::jome::ctrlview::bidim::Display::computeAncestorsAttributes(), fr::ove::openmath::jome::ctrlview::bidim::OperatorDisplayCreator::createOperatorDisplay(), fr::ove::openmath::jome::ctrlview::bidim::DisplayLayout::displayToLay, fr::ove::openmath::jome::ctrlview::bidim::Display::getListener(), fr::ove::openmath::jome::ctrlview::bidim::Display::isSymbolOperatorDisplay, fr::ove::openmath::jome::ctrlview::bidim::InfixOperatorLayout::prevNbComponent, and fr::ove::openmath::jome::ctrlview::bidim::Display::setUpdateLevel().

Referenced by fr::ove::openmath::jome::ctrlview::bidim::InfixOperatorLayout::computeAttributes(), and fr::ove::openmath::jome::ctrlview::bidim::InfixOperatorLayout::rebuildDisplay().

                                           {
        Display current, next, displayOperator;
        FormulaTreeStructure fatherFts = (FormulaTreeStructure) displayToLay.getListener();
        FormulaTreeStructure fts;
        int nbComponent = displayToLay.getComponentCount();
        
        // On parcourre tous les components présents dans le display.
        for (int i = 1; i < nbComponent; i++) {
            // la référence sur le component courant
            current = (Display) displayToLay.getComponent(i - 1);
            // la référence sur le suivant
            next = (Display) displayToLay.getComponent(i);
            
            // Si le courant est un display d'opérateur alors on continue
            if (current.isSymbolOperatorDisplay())
                continue;
                
            // Si le suivant n'est pas un display d'opérateur alors 2 cas
            if (!next.isSymbolOperatorDisplay()) {
                // On ajoute un display d'opérateur.
                displayOperator = createOperatorDisplay();
                displayToLay.add(displayOperator, displayOperator, i);
                
                // On met un listener à l'opérateur.
                // En fait, il n'y en a pas besoin, dans le sens où il n'y a pas spécifiquement de fts qui
                // écoute le comportement de ce display. Néanmoins, il s'avère nécessaire qu'il en ait
                // un, par exemple lors de l'iconification, car c'est le display qui reçoit la demande
                // d'iconification qui envoie l'événement correspondant à la FTS. Or si ce display n'a pas
                // d'écouteur, alors pb. Par cohérence, l'écouteur du display d'opérateur, est le fts qui
                // représente cette opération. Par contre, la fts en question, n'écoute pas le display
                // d'opérateur.
                displayOperator.addControlListener(fatherFts);
                i++;
                nbComponent++;
            }
        }
        
        // Mise à jour des rangs des displays
        displayToLay.adjustRank();
        // Mise à jour du nombre de components présents dans le display.
        prevNbComponent = displayToLay.getComponentCount();
        // On n'a plus besoin d'insérer des displays d'opérateur.
        insertOperatorDisplay = false;
        // On fait en sorte que la mise à niveau des displays (opérateurs) soit faite.
        displayToLay.setUpdateLevel(true);
        // On a rajouté un display, on demande le recalcul de tous les ancêtres
        // de l'instance.
        displayToLay.computeAncestorsAttributes();
    }


Generated by  Doxygen 1.6.0   Back to index