QT

pipeLionMainWindow

class pipeLion.ui.ui.pipeLionMainWindow.PipeLionMainWindow(parent=None)[source]

PipeLionMainWindow is derived by QMainWindow and is the MainWindow of the pipeLion

changeCalendarLabel(year, month)[source]

method will update the calendar header-line, which shows the current month and year, which is shown in the calendar below.

Parameters:
  • year – current year
  • month (int) – current month
Type :

year: int

fillInLists(tab=0)[source]

method is called when the tab is changed. In case the current tab is the user-tab (index=0) the toDo and done lists are filled out.

Parameters:tab (int) – index number of the current tab
login(name='')[source]

method will login a given user and will check in which project the user is involved, and depending on that will call openProject

Parameters:name (string) – name of the user
openProject(project)[source]

method will create a ProjectTab for the given project and will add this to the mainTabWidget

Parameters:projectName (string) – name of the project, which should be loaded
Returns:the tab which was added to the projectsTabWidget
Return type:QWidget

projectTab

class pipeLion.ui.ui.projectTab.ProjectTab(project, user, parent=None)[source]

ProjectTab is derived by QWidget It is the main Tab for each project, which is assigned to a User

it holds information about the project and if the User is an admin to the project or not.

checkAdmin()[source]

method checks if the current user is admin to the current project

Returns:indicator if user is admon or not
Return type:bool
refreshTabs(tabId)[source]

method will call refresh methods in case tha main tab in the projectTab is changed

Parameters:tabId (int) – id of the tab: 0=projectInfoTab, 1=shotsTab, 2=scheduleTab
setProject(project)[source]

method will set the project to the given one

Parameters:project (string) – name of the project, this Tab should be assigned to
setUser(user)[source]

method sets the user to the given user

Parameters:user (User) – current user

projectInfoTab

class pipeLion.ui.ui.projectInfoTab.ProjectInfoTab(parent=None)[source]

ProjectInfoTab is derived by QWidget it will build up a wiget which holds basic information about the project such as global-timespan, people involved etc

changeImage()[source]

method allows to change the key-image of a project. this function runs a QFileDialog, to get the path of the desired image by using the ConfigManager and the projects name it will generate the basePath of the project, and will figure out if the selected image is inside the current project or not. If it is inside the project the path will be changed to a relative-path

changeLogline()[source]

if self.isAdmin is True the loglineWidget is editable and any edit will trigger this method to store the current-logline text within the project

changeObjectives()[source]

if self.isAdmin is True the objectivesWidget is editable and any edit will trigger this method to store the current-logline text within the project

fillDeadline()[source]

method to fill in the projects deadline as well as its state

fillFormat()[source]

method will fill in the format-list

fillKeyPicture()[source]

method to fill in the key picture. this method will check in the config for the project Server, and will resolve relative-links to the project

fillLogline()[source]

method will fill in the logline of the project, if self.isAdmin is True this widget will be set as editable.

fillObjectives()[source]

method will fill in the objectives of the project, if self.isAdmin is True this widget will be set as editable.

fillProjectName()[source]

method to fill in the project id and name

fillStaff()[source]

method will fill in the staff-list

refreshTab()[source]

method, which will refill and update all widgets in this tab

setProject(project)[source]

method sets the currentProject to this widget

Parameters:project (Project) – current project
setUser(user, isAdmin)[source]

method sets the currentUser to this widget

Parameters:
  • user (User) – current user
  • isAdmin (boolean) – specifies if the user is an admin to the current project
showUserInfo(item)[source]

this method will show a dialog of all settings of a given user. these settings can be edited inside the dialog Function is triggered after an item in the staffListWidget was double-clicked

scheduleTab

class pipeLion.ui.ui.scheduleTab.ScheduleTab(parent=None)[source]

ScheduleTabis derived by QWidget it is to show tables with project-information in a non-editable view, even for non-admin-users

printToPdf()[source]

method will print the table, currently shown in the view to a pdf-file.

setProject(project)[source]

this method sets the project, and calls a recreation of the TableGraph-scene

Parameters:project (AbstractAsset) – project asset

shotsTab

class pipeLion.ui.ui.shotsTab.ShotsTab(parent=None)[source]

derived by QWidget ShotsTab is the man editing and information gathering tab of the ProjectTab.

adminFocusNodeChanged(nodeBaseId=None, nodeId=None)[source]

method will be called if if the current item in the adminGraph changed In that case, the properties widget will show the properties of the currently selected node

Parameters:
  • nodeBaseId (Id) – basId of the desired asset
  • nodeId (Id) – id of the desired asset
autoplace()[source]

wrapper to autoplace all nodes in the projectGraphicsView

connectSignals()[source]

method will connect all ui-element-signals with the right functions

fillInUserGraphList()[source]

method will fill in the list, which is lefty of the userGraph depending on which boxes are checked above.

getAssetByIds(baseId, nodeId)[source]

method will iter over allAssets within the project-asset and return the asset, which has the same baseId and the same id

Parameters:
  • baseId (Id) – basId of the desired asset
  • nodeId (Id) – id of the desired asset
Returns:

asset

Return type:

AbstractAsset

setProject(project)[source]

method will set the parent-project, set to this tab and will update all child widgets of itself

Parameters:project (Project) – project asset
setUser(user, admin=False)[source]

method will set the user set to the given user

Parameters:
  • user (User) – user registred in the pipeLion
  • admin (bool) – indicates if the given user is an admin to the current project
updateTable()[source]

wrapper to update the TableGraph in the adminGroup

updateUserGraph(row)[source]

method will update the user graph depending on which row is selected in the userGraphList

Parameters:row (int) – selected entry in the userGraphList
userFocusNodeChanged(nodeBaseId=None, nodeId=None)[source]

same as adminFocusNodeChanged but will be called if the focus node in the userGraph changes and will fill up the AssetInfoWidget instead

Parameters:
  • nodeBaseId (Id) – basId of the desired asset
  • nodeId (Id) – id of the desired asset

assetInfoWidget

class pipeLion.ui.ui.assetInfoWidget.AssetInfoWidget(parent=None)[source]

AssetInfoWidget is derived by QWidget It describes the information shown to the right of the userGraph

changeAssetState(currentIndex)[source]

method changes the asset-state to the given state:

0 -> 'not started'
1 ->'in progress'
2 -> 'done'
Parameters:currentIndex (int) – state set in the stateComboBox
fillInStateComboBox()[source]

method will fill in the state-comboBox with the values ‘not started’,’in progress’, and done’

updateAsset(asset, project, admin, user)[source]

method assigns an asset, a project and a user to itself, and updates all childWidgets

Parameters:
  • asset (AbstractAsset) – asset, which is selected in the UserGraph
  • project (Project) – project of asset
  • admin (bool) – indicates wether user is an admin for this project or not
  • user (User) – current user
updateStateInfo()[source]

method will change the state-info-string by calculating the urgency of the assigned asset

versionShuffle()[source]

method will create a little widget, to select the different versions of the dependent Nodes of the selected asset

assetDescriptionWidget

class pipeLion.ui.ui.assetDescriptionWidget.AssetDescriptionWidget(parent=None)[source]

AssetInfoWidget is derived by QWidget It describes the information shown to the right of the userGraph

fillInInfo()[source]

method will fill in the state-comboBox with the values ‘not started’,’in progress’, and done’

updateAsset(asset, project, admin, user)[source]

method assigns an asset, a project and a user to itself, and updates all childWidgets

Parameters:
  • asset (AbstractAsset) – asset, which is selected in the UserGraph
  • project (Project) – project of asset
  • admin (bool) – indicates wether user is an admin for this project or not
  • user (User) – current user

assetInOutWidget

class pipeLion.ui.ui.assetInOutWidget.AssetInOutWidget(parent=None)[source]

AssetInfoWidget is derived by QWidget It describes the information shown to the right of the userGraph

fillReferenceFiles()[source]

method will fill-up the list of reference files

fillReleaseFiles()[source]

method will fill in the releaseTreeWidget with the all files found in the release-folder

fillWorkFiles()[source]

method will fill in the workTreeWidget with the all files found in the work-folder

generateHierarchyFromPathList(pathList)[source]

method will generate a hierarchy of QTreeWidgetItems. For each path in the given ListOfPath it will genearate a toplevelitem and for each subfolder, it will generate a new childNode for each file it will store the full path to that file in the 32-role and column 0

Parameters:pathList (list of strings) – list of Folders which should be put in the hierarchy
Returns:list of toplevelitems holding their hierarchy of subfolders and files
Return type:list of QTreeWidgetItems
launchReference()[source]

method will launch the selected reference-file with the default application

launchRelease()[source]

method will launch the selected release-file with the default application

launchWork()[source]

method will launch the selected work-file with the default application

updateAsset(asset, project, admin, user)[source]

method assigns an asset, a project and a user to itself, and updates all childWidgets

Parameters:
  • asset (AbstractAsset) – asset, which is selected in the UserGraph
  • project (Project) – project of asset
  • admin (bool) – indicates wether user is an admin for this project or not
  • user (User) – current user

plGroupBox

class pipeLion.ui.ui.plGroupBox.PlGroupBox(parent=None)[source]

PlGroupBox is derived by QGroupBox it is a custom group box which hides all child entries in case it was deactivated

activate(visibility)[source]

method to hide or unhide all child widgets

Parameters:visibility (bool) – indicates if the widgets should be hidden or not

calendarWidget

class pipeLion.ui.ui.calendarWidget.CalendarWidget(parent=None)[source]

reimplemented from QCalendarWidget This custom Calendar widget will show all tasks of the logged-in user in a calendar-view

contextMenuEvent(event)[source]

method will create a context menue with a selection of table-types. this selection is connected to the TableGraph-object and will change the table-type for the entire scene

Parameters:event (QContextMenuEvent) – context menu event
launchTask()[source]

method will gather the selected asset in the combo-box and will launch the default connection

paintCell(painter, rect, date)[source]

method is reimplemented from the QCalendarWidget-class. it paints exactly one day in the calendar. It was reimplemented to add the users-tasks to the calendar-view

Parameters:
  • painter (QPainter) – painter object, which draws the scene
  • rect (QRect) – rectangle, where the day will be drawn
  • date (QDate) – date of the day which is to be drawn
paintTasks(painter, rect, date)[source]

method draws all tasks of the given date into the calendar.

Parameters:
  • painter (QPainter) – painter object, which draws the scene
  • rect (QRect) – rectangle, where the day will be drawn
  • date (QDate) – date of the day which is to be drawn
updateUser(user)[source]

this method is called everytime a new user logs into the mainWindow.

Parameters:
  • user (User) – the User object which is set in the main window
  • projectList (list of Project) – all projects, which are assigned to the User

createNewProject

createNewUser