Gantt Chart statuses, custom panels, sketch comments

Mirada: duplicating sketch comments

Drawings can now be duplicated in the comparison mode.

Gantt chart: filter by status

We have added the ability to display the timeline by task status — you can see what status the tasks had and for how long.

Specifying time in reports

In the new update, the requirement to specify time in reports is configured in the project menu.

If you enable the checkbox, the system will not require you to specify the elapsed time.

Message visibility in parent tasks

Now users with conditional access rights (can view tasks when chosen as executors) have an option to hide or show messages in parent tasks.

By default, such users can view messages.

Embedding custom panels in desktop

It is now possible to create embedded custom panels in the main Cerebro window using the API.

Panels can be embedded on both the right and left side. Panels must be implemented in PyQt, and they can be embedded using the gui.py module.

Code {plugin}/gui.py

import cerebro

def init_panels():
  tabs = cerebro.gui.MainTabWidget()
  side = cerebro.gui.SideTabWidget()
  
  icon = os.path.join(os.path.dirname(file), 'resources', 'icon.png')
  
  # add main (left)  panel
  w = MyTabWidget() # your widget
  my_panel = tabs.add_panel('My tab', icon, 'My tab tooltip')
  my_panel.set_widget(w)
  my_panel.add_callback(my_panel.CALLBACK_PANELVISIBLE, w.setPanelVisible)
  my_panel.add_callback(my_panel.CALLBACK_CURRENTTASK, w.setCurrentTask)
  
  # add side (right)  panel
  w2 = MySideWidget()  # your widget
  my_panel = side.add_panel('My side tab')
  my_panel.set_widget(w2)
  my_panel.add_callback(my_panel.CALLBACK_CURRENTTASK, w2.setCurrentTask) # signal argument - task id (int)
  my_panel.add_callback(my_panel.CALLBACK_PANELVISIBLE, w2.setPanelVisible) # signal argument - is visible (bool)

This module must be included in your plugin, and adding panels must be described in the def init_panels(): function.

Panels receive signals from the application:
— Change the current task
— Show/hide panel