@@ -186,32 +186,72 @@ def _get_objects(self):
186186 return self .cached_objects
187187
188188 def paint (self , painter , option , index ):
189- if index .row () == 0 :
190- super (). paint ( painter , option , index )
191- return
192-
189+ model = index .model ()
190+ current_row = index . row ( )
191+ current_col = index . column ()
192+ total_rows = model . rowCount ()
193193 option = QStyleOptionViewItem (option )
194+ is_special_row = False
195+
196+ if isinstance (model , TestScenarioModel ):
197+ if (current_row == 0 or
198+ current_row == 1 or
199+ current_row == total_rows - 1 or
200+ current_row == total_rows - 2 ):
201+ option .font .setBold (True )
202+ is_special_row = True
203+ elif current_col in [TestScenarioModel .COMMAND_COL , TestScenarioModel .DESC_COL , TestScenarioModel .SKIP_COL ]:
204+ option .font .setBold (True )
205+ if current_col == TestScenarioModel .STEPS_COL :
206+ value = model .data (index , Qt .ItemDataRole .DisplayRole )
207+ if value in ["Scenario Started" , "Scenario Ended" ]:
208+ option .font .setBold (True )
209+
210+ elif isinstance (model , ObjRepoModel ):
211+ if (current_row == 0 or
212+ current_row == total_rows - 1 ):
213+ option .font .setBold (True )
214+ is_special_row = True
194215
195216 final_color = option .palette .color (QPalette .ColorRole .Text )
196217
197- model = index .model ()
198- if isinstance (model , TestScenarioModel ):
199- col = index .column ()
218+ if not is_special_row and isinstance (model , TestScenarioModel ):
200219 value = index .data (Qt .ItemDataRole .DisplayRole )
201220
202221 if value :
203- if col == TestScenarioModel .COMMAND_COL :
222+ if current_col == TestScenarioModel .COMMAND_COL :
204223 if value not in self .commands :
205224 final_color = QColor ("#E57373" )
206225
207- elif TestScenarioModel .DATA1_COL <= col <= TestScenarioModel .DATA5_COL :
226+ elif TestScenarioModel .DATA1_COL <= current_col <= TestScenarioModel .DATA5_COL :
208227 objects = self ._get_objects ()
209228 if value not in objects :
210229 final_color = QColor ("#64B5F6" )
211230
212231 option .palette .setColor (QPalette .ColorRole .Text , final_color )
213232 option .palette .setColor (QPalette .ColorRole .HighlightedText , final_color )
214233
234+ # if not is_special_row and isinstance(model, TestScenarioModel):
235+ # command_index = model.index(current_row, TestScenarioModel.COMMAND_COL)
236+ # command_value = model.data(command_index, Qt.ItemDataRole.DisplayRole)
237+
238+ # if command_value == "StartScenario":
239+ # painter.save()
240+ # pen = painter.pen()
241+ # pen.setColor(QColor("#B0B0B0"))
242+ # pen.setWidth(1)
243+ # painter.setPen(pen)
244+ # painter.drawLine(option.rect.topLeft(), option.rect.topRight())
245+ # painter.restore()
246+ # if command_value == "EndScenario":
247+ # painter.save()
248+ # pen = painter.pen()
249+ # pen.setColor(QColor("#B0B0B0"))
250+ # pen.setWidth(1)
251+ # painter.setPen(pen)
252+ # painter.drawLine(option.rect.bottomLeft(), option.rect.bottomRight())
253+ # painter.restore()
254+
215255 super ().paint (painter , option , index )
216256
217257
0 commit comments