Пример #1
0
 def update_widget(self):
     # On reinitialise le layout et la liste des layouts
     clear_layout(self.vbox)
     self.list_layout_raison = {}
     # Si la liste de raison est vide
     if len(self.arret.raisons) == 0:
         self.initial_line = self.create_initial_line()
         # On ajout la ligne pas de raison sélectionné
         self.vbox.addLayout(self.initial_line)
     else:
         index = 0
         first_type = None
         self.radio_button_manager = RadioButtonManager()
         self.radio_button_manager.ON_RADIO_BUTTON_CHANGED_SIGNAL.connect(
             self.on_radio_button_changed)
         for raison in self.arret.raisons:
             if index == 0:
                 raison.update_to_raison_primaire()
             if not first_type:
                 first_type = raison.type
             line_raison = self.create_line_raison(raison, first_type)
             self.list_layout_raison[index] = line_raison
             self.vbox.addLayout(line_raison)
             index += 1
     self.setLayout(self.vbox)
Пример #2
0
 def update_widget(self):
     self.plan_prod.data_reglages.update_reglage()
     clear_layout(self.vbox)
     self.vbox.addWidget(LineMasterTitle(parent=self))
     # Bloc Préparation Production
     vbox_prepa = QVBoxLayout()
     vbox_prepa.setSpacing(2)
     vbox_prepa.addWidget(LineTitle(parent=self, text="Préparation production"))
     for data_reglage in self.plan_prod.data_reglages.data_reglages:
         if not data_reglage.reglage.is_optionnel() and data_reglage.reglage.cat != "CHAUFFE":
             vbox_prepa.addWidget(LineReglage(parent=self, data_reglage=data_reglage))
     self.vbox.addLayout(vbox_prepa)
     # Bloc Préparation Optionnelle
     vbox_option = QVBoxLayout()
     vbox_option.setSpacing(2)
     vbox_option.addWidget(LineTitle(parent=self, text="Préparation optionnelle"))
     for data_reglage in self.plan_prod.data_reglages.data_reglages:
         if data_reglage.reglage.is_optionnel():
             vbox_option.addWidget(LineReglage(parent=self, data_reglage=data_reglage))
     self.vbox.addLayout(vbox_option)
     # Bloc Temps de Réglage
     vbox_time = QVBoxLayout()
     vbox_time.setSpacing(2)
     vbox_time.addWidget(LineTitle(parent=self, text="Temps de préparation"))
     vbox_time.addWidget(LineTime(parent=self, text="Temps de préparation de l'aide conducteur (AC)",
                                  time=self.plan_prod.data_reglages.time_aide))
     vbox_time.addWidget(LineTime(parent=self, text="Temps de préparation du conducteur (C)",
                                  time=self.plan_prod.data_reglages.time_conducteur))
     for data_reglage in self.plan_prod.data_reglages.data_reglages:
         if not data_reglage.reglage.is_optionnel() and data_reglage.reglage.cat == "CHAUFFE":
             vbox_time.addWidget(LineTime(parent=self, text=data_reglage.reglage.des,
                                          time=data_reglage.reglage.time))
     self.vbox.addLayout(vbox_time)
     self.vbox.addStretch(0)
Пример #3
0
 def update_widget(self):
     self.get_bobines()
     clear_layout(self.vbox)
     self.vbox.addWidget(LineLegend(parent=self))
     for key, value in self.dict_bobines.items():
         bobine = bobine_fille_store.get_bobine(code=key)
         self.vbox.addWidget(LineBobine(parent=self, bobine=bobine, quantity=value))
Пример #4
0
 def on_loading(self,
                layout,
                gif_name="loader_white_green",
                set_text=True,
                size=40):
     from commun.utils.layout import clear_layout
     clear_layout(layout)
     from PyQt5.QtWidgets import QVBoxLayout, QLabel
     from PyQt5.Qt import Qt, QSize
     container_loader = QVBoxLayout()
     container_loader.addStretch(1)
     loader = QLabel()
     from PyQt5.QtGui import QMovie
     movie = QMovie("commun/assets/movie/{}.gif".format(gif_name))
     movie.setScaledSize(QSize(size, size))
     loader.setMovie(movie)
     loader.setFixedSize(size, size)
     movie.start()
     container_loader.addWidget(loader,
                                alignment=Qt.AlignCenter | Qt.AlignVCenter)
     if set_text:
         label_loading = QLabel("Chargement...")
         from commun.constants.stylesheets import black_16_label_stylesheet
         label_loading.setStyleSheet(black_16_label_stylesheet)
         container_loader.addWidget(label_loading,
                                    alignment=Qt.AlignCenter
                                    | Qt.AlignVCenter)
     container_loader.addStretch(1)
     layout.addLayout(container_loader)
     self.setLayout(layout)
Пример #5
0
 def update_widget(self):
     print("update_widget")
     clear_layout(self.master_hbox)
     self.clear_bt = PixmapButton(parent=self)
     self.init_button()
     self.master_hbox.addLayout(self.get_content())
     if self.data_type != "bobine":
         self.master_hbox.addWidget(self.clear_bt)
Пример #6
0
 def update_widget(self, menu_selected="chart_stat"):
     clear_layout(self.content_vbox)
     if menu_selected == "chart_stat":
         settings_store.set(day_ago=0)
         self.content_vbox.addLayout(self.create_stat_layout())
     elif menu_selected == "rapport":
         self.content_vbox.addLayout(self.create_rapport_layout())
     elif menu_selected == "team_gestion":
         self.content_vbox.addLayout(self.create_team_gestion_layout())
     else:
         self.content_vbox.addLayout(self.create_prod_layout())
Пример #7
0
 def on_data_type_changed(self):
     from commun.utils.layout import clear_layout
     clear_layout(self.vbox)
     if filter_store.data_type == "bobine":
         selector = SelectorTable(parent=self, plan_prod=self.plan_prod)
     else:
         selector = Selector(parent=self, plan_prod=self.plan_prod)
     selector_filter = SelectorFilter(parent=self)
     self.vbox.addWidget(selector_filter)
     self.vbox.addWidget(selector)
     self.setFixedWidth(self.sizeHint().width())
Пример #8
0
    def init_widget(self):
        clear_layout(self.vbox)
        self.vbox.setContentsMargins(0, 0, 0, 0)
        self.vbox.setSpacing(20)

        self.vbox.addLayout(self.create_master_title())
        self.vbox.addWidget(self.create_master_stat())
        self.vbox.addWidget(self.create_title("Historique des vitesses"))
        self.vbox.addWidget(self.create_chart(), alignment=Qt.AlignCenter)
        self.vbox.addWidget(self.create_title("Performance de la journée"))
        self.vbox.addLayout(self.create_stat())
        self.vbox.addWidget(self.create_title("Détail des arrêts remarquables machine"))
        self.vbox.setSpacing(10)
        self.vbox.addLayout(self.create_info_arret())
        self.vbox.addLayout(self.create_list_arret())
        self.setLayout(self.vbox)
Пример #9
0
 def update_widget(self):
     clear_layout(self.vbox)
     if self.plan_prod.is_completed():
         label_completed = QLabel("Production complète")
         label_completed.setStyleSheet(green_12_label_stylesheet)
         self.vbox.addWidget(label_completed)
     else:
         bobine_poly = "une bobine mère polypro "
         if self.plan_prod.bobine_papier_selected:
             bobine_poly = ""
         perfo = "une campagne de perforation "
         if self.plan_prod.bobine_papier_selected:
             perfo = ""
         bobine_papier = "une bobine mère papier "
         if self.plan_prod.bobine_papier_selected:
             bobine_papier = ""
         refente = "une refente "
         if self.plan_prod.bobine_papier_selected:
             refente = ""
         bobine_fille = "une ou des bobines filles"
         if self.plan_prod.refente_is_completed():
             bobine_fille = ""
         label_not_completed = QLabel(
             "Production imcomplète, il manque : {}{}{}{}{}".format(
                 bobine_poly, perfo, bobine_papier, refente, bobine_fille))
         label_not_completed.setStyleSheet(red_12_label_stylesheet)
         self.vbox.addWidget(label_not_completed)
     if not self.plan_prod.tours:
         label_not_tours = QLabel("Aucun nombre de tours rensigné")
         label_not_tours.setStyleSheet(red_12_label_stylesheet)
         self.vbox.addWidget(label_not_tours)
     elif not self.plan_prod.is_valid_tours():
         max_tour = self.plan_prod.get_max_tour()
         text = "La production est trop longue, nombre de tours maximum pour cette production : {}".format(
             max_tour)
         label_tours_to_hight = QLabel(text)
         label_tours_to_hight.setStyleSheet(red_12_label_stylesheet)
         self.vbox.addWidget(label_tours_to_hight)
Пример #10
0
 def init_widget(self):
     clear_layout(self.hbox)
     self.bars = []
     self.hbox.setContentsMargins(10, 0, 10, 0)
     self.hbox.setSpacing(5)
     len_format = 0
     if settings_stat_store.format == "week":
         len_format = 5
     if settings_stat_store.format == "month":
         len_format = len(stat_store.data["total"])
     if settings_stat_store.format == "years":
         len_format = len(stat_store.data["total"])
     index = 0
     while index < len_format:
         hbox_multi_bar = QHBoxLayout()
         hbox_multi_bar.setContentsMargins(0, 0, 0, 0)
         hbox_multi_bar.setSpacing(0)
         index_data = 0
         while index_data < len(stat_store.data):
             if settings_stat_store.display_setting[index_data]:
                 if settings_stat_store.data_type == "métrage":
                     moment = "matin" if index_data == 0 else ""
                     moment = "soir" if index_data == 1 else moment
                     moment = "total" if index_data == 2 else moment
                 else:
                     moment = "Prévu" if index_data == 0 else ""
                     moment = "Imprévu" if index_data == 1 else moment
                     moment = "total" if index_data == 2 else moment
                 value = stat_store.data[moment][index][1] if len(stat_store.data[moment]) > index else -1
                 color = self.color_data_métrage[index_data] if settings_stat_store.data_type == "métrage"\
                     else self.color_data_temps[index_data]
                 hbox_multi_bar.addLayout(self.create_bar(value=value,
                                                          color=color))
             index_data += 1
         self.hbox.addLayout(hbox_multi_bar)
         index += 1
     self.setLayout(self.hbox)
Пример #11
0
 def update_widget(self):
     """
     S'occupe de vider le tableau existant et de le remplir avec les nouvelles données
     :return:
     """
     self.scroll_layout = clear_layout(self.scroll_layout)
     number = 1
     # Trie les arrets par ordre chronologique
     list_arret = sorted(self.list_arret, key=lambda arret: arret.start)
     # Parcour la liste des arrets et crée une line pour chaque arret
     for arret in list_arret:
         line_arret = LineArret(parent=self,
                                day_ago=self.day_ago,
                                arret=arret,
                                number=number)
         self.scroll_layout.addWidget(line_arret)
         number += 1
     if number == 1:
         line_arret = LineArret(parent=self,
                                day_ago=self.day_ago,
                                arret=None,
                                number=number)
         self.scroll_layout.addWidget(line_arret)
Пример #12
0
 def create_tab(self):
     clear_layout(self.content_tab)
     self.array_text_edit = []
     for values in self.current_data:
         self.content_tab.addLayout(self.create_line(values))
Пример #13
0
 def update_widget(self):
     clear_layout(self.hbox)
     self.init_widget()
Пример #14
0
 def on_settings_stat_changed(self):
     clear_layout(self.hbox)
     if settings_stat_store.data_type == "raisons prévue" or settings_stat_store.data_type == "raisons imprévue":
         self.create_line_tittle_raison()
     else:
         self.create_line_tittle_team()
Пример #15
0
 def on_data_stat_changed(self):
     """
     Lorsque les données changent on clear le layout et on le recrée avec les nouvelle valeur
     """
     clear_layout(self.vbox_master)
     self.init_widget()
Пример #16
0
 def on_settings_stat_changed(self):
     clear_layout(self.hbox)
     try:
         self.init_widget()
     except:
         logger.log("CHART_STAT", "Erreur de mise à jour lors du chargement des settings du chart")
 def deleteLater(self):
     from commun.utils.layout import clear_layout
     clear_layout(self.hbox)
     super(BobineFilleSelected, self).deleteLater()