www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

bloc.js (3940B)


      1 function MBloc() {
      2     makeUid(this);
      3     makeField(this, 'mTitreBloc', new MTitreBloc());
      4     makeField(this, 'mListePortsEntrée', new MListePorts(true));
      5     makeField(this, 'mListePortsSortie', new MListePorts(false));
      6     makeField(this, 'mListeDéfinitions', new MListeDéfinitions());
      7 }
      8 
      9 function VBloc(mBloc, emplacement, mInstanceBloc_portClick, vInstanceBlocParente) {
     10     makeView(this, 'vBloc', emplacement, 'vTitreBloc', 'vListePortsEntrée', 'vListePortsSortie', 'vTitresTabsDéfinitions', 'vContenusTabsDéfinitions');
     11     new VTitreBloc(mBloc.mTitreBloc(), this.parties.vTitreBloc);
     12     var vpe = new VListePorts(mBloc.mListePortsEntrée(), this.parties.vListePortsEntrée);
     13     var vps = new VListePorts(mBloc.mListePortsSortie(), this.parties.vListePortsSortie);
     14     this.vpe = vpe;
     15     this.vps = vps;
     16     
     17     this.mvTabsDéfinitions = new MVTabsDéfinitions(mBloc.mListeDéfinitions());
     18     
     19     new VTitresTabsDéfinitions(this.mvTabsDéfinitions, this.parties.vTitresTabsDéfinitions, vInstanceBlocParente);
     20     new VContenusTabsDéfinitions(this.mvTabsDéfinitions, this.parties.vContenusTabsDéfinitions, vInstanceBlocParente);
     21     
     22     var that = this;
     23     var clicsPorts = function(mPort) {
     24         singleton.portClickA.mInstanceBloc = mInstanceBloc_portClick;
     25         singleton.portClickA.mDéfinition = that.mvTabsDéfinitions.définitionActive();
     26         
     27         if (singleton.portClickB === null) {
     28             singleton.portClickB = singleton.portClickA;
     29             singleton.portClickA = {};
     30         } else {
     31             var a = singleton.portClickA;
     32             var b = singleton.portClickB;
     33             if (a.mPort == b.mPort) {
     34                 // Double clic, afficher la valeur du port
     35                 showEvalPort(a.mPort);
     36             } else {
     37                 //console.log(singleton.portClickA, singleton.portClickB);
     38                 if (a.mDéfinition.uid == b.mInstanceBloc.dansDéfinition.uid) { // a parent de b
     39                     if (a.mListePorts.estEntrée) {
     40                         a.mDéfinition.addConnexions(
     41                             new MConnexion(true, a.mInstanceBloc, a.mPort, false, b.mInstanceBloc, b.mPort)
     42                         );
     43                     } else {
     44                         a.mDéfinition.addConnexions(
     45                             new MConnexion(false, b.mInstanceBloc, b.mPort, true, a.mInstanceBloc, a.mPort)
     46                         );
     47                     }
     48                 } else if (b.mDéfinition.uid == a.mInstanceBloc.dansDéfinition.uid) { // b parent de a
     49                     if (a.mListePorts.estEntrée) {
     50                         a.mDéfinition.addConnexions(
     51                             new MConnexion(true, a.mInstanceBloc, a.mPort, false, b.mInstanceBloc, b.mPort)
     52                         );
     53                     } else {
     54                         a.mDéfinition.addConnexions(
     55                             new MConnexion(false, b.mInstanceBloc, b.mPort, true, a.mInstanceBloc, a.mPort)
     56                         );
     57                     }
     58                 } else if (a.mInstanceBloc.dansDéfinition.uid == b.mInstanceBloc.dansDéfinition.uid) { // a et b même parent
     59                     if (a.mListePorts.estEntrée) {
     60                         a.mInstanceBloc.dansDéfinition.addConnexions(
     61                             new MConnexion(false, b.mInstanceBloc, b.mPort, false, a.mInstanceBloc, a.mPort)
     62                         );
     63                     } else {
     64                         a.mInstanceBloc.dansDéfinition.addConnexions(
     65                             new MConnexion(false, a.mInstanceBloc, a.mPort, false, b.mInstanceBloc, b.mPort)
     66                         );
     67                     }
     68                 }
     69             }
     70             singleton.portClickB = null;
     71             singleton.portClickA = {};
     72         }
     73     }
     74     
     75     vpe.onClickPort(clicsPorts);
     76     vps.onClickPort(clicsPorts);
     77 }
     78 
     79 function showEvalPort(mPort) {
     80     console.log(mPort.mListePorts);
     81 }