# eric7.Project.Project

Module implementing the project management functionality.

### Global Attributes

None

### Classes

Project | Class implementing the project management functionality.

### Functions

None

## Project

Class implementing the project management functionality.

### Signals

appendStderr(str)
  emitted after something was received from a QProcess on stderr
appendStdout(str)
  emitted after something was received from a QProcess on stdout
completeRepopulateItem(str)
  emitted after an item of the model was repopulated
designerFile(str)
  emitted to open a found designer file
directoryRemoved(str)
  emitted after a directory has been removed from the project
dirty(bool)
  emitted when the dirty state changes
lexerAssociationsChanged()
  emitted after the lexer associations have been changed
linguistFile(str)
  emitted to open a found translation file
newProject()
  emitted after a new project was generated
newProjectHooks()
  emitted after a new project was generated but before the newProject() signal is sent
prepareRepopulateItem(str)
  emitted before an item of the model is repopulated
processChangedProjectFiles()
  emitted to indicate, that changed project files should be processed
projectAboutToBeCreated()
  emitted just before the project will be created
projectChanged()
  emitted to signal a change of the project
projectClosed(shutdown)
  emitted after a project was closed sending a flag indicating the IDE shutdown operation
projectClosedHooks()
  emitted after a project file was closed but before the projectClosed() signal is sent
projectFileAdded(str, str)
  emitted after a new file was added
projectFileCompiled(str, str)
  emitted after a form was compiled
projectFileRemoved(str, str)
  emitted after a file of the project was removed
projectFileRenamed(str, str)
  emitted after a file of the project has been renamed
projectLanguageAddedByCode(str)
  emitted after a new language was added. The language code is sent by this signal.
projectOpened()
  emitted after a project file was read
projectOpenedHooks()
  emitted after a project file was read but before the projectOpened() signal is sent
projectPropertiesChanged()
  emitted after the project properties were changed
reinitVCS()
  emitted after the VCS has been reinitialized
showMenu(str, QMenu)
  emitted when a menu is about to be shown. The name of the menu and a reference to the menu are given.
sourceFile(str)
  emitted after a project file was read to open the main script
vcsCommitted()
  emitted to indicate a completed commit action
vcsStatusMonitorAllData(dict)
  emitted to signal all VCS status (key is project relative file name, value is status)
vcsStatusMonitorData(list)
  emitted to signal the VCS status data
vcsStatusMonitorInfo(str)
  emitted to signal some info of the monitoring thread
vcsStatusMonitorStatus(str, str)
  emitted to signal the status of the monitoring thread (ok, nok, op, off) and a status message

### Derived from

QObject

### Class Attributes

DefaultMake
DefaultMakefile
eols

### Class Methods

None

### Methods

Project | Constructor
__addRecursiveDirectory | Private method used to add all files of a directory tree.
__addSingleDirectory | Private method used to add all files of a single directory to the project.
__autoExecuteMake | Private slot to execute a project specific make run (auto-run) (execute or question).
__binaryTranslationFile | Private method to calculate the filename of the binary translations file given the name of the raw translations file.
__checkFilesExist | Private method to check, if the files in a list exist.
__checkProjectFileGroup | Private method to check, if a file is in a specific file group of the project.
__cleanupMake | Private method to clean up make related stuff.
__closeAllWindows | Private method to close all project related windows.
__configureBlack | Private slot to enter the parameters for formatting the project sources with 'Black'.
__configureEnvironment | Private slot to configure the embedded environment.
__configureIsort | Private slot to enter the parameters for formatting the import statements of the project sources with 'isort'.
__createEmbeddedEnvironment | Private method to create the embedded virtual environment.
__createSBOMFile | Private slot to create a SBOM file of the project dependencies.
__createSnapshotSource | Private method to create a snapshot plugin version.
__createZipDirEntries | Private method to create dir entries in the zip file.
__deleteDebugProperties | Private method to delete the project debugger properties file (.edj).
__deleteSession | Private method to delete the session file.
__doSearchNewFiles | Private method to search for new files in the project directory.
__executeMake | Private method to execute a project specific make run.
__findEmbeddedEnvironment | Private method to find the path of the embedded virtual environment.
__initData | Private method to initialize the project data part.
__initDebugProperties | Private method to initialize the debug properties.
__initProjectTypes | Private method to initialize the list of supported project types.
__initVenvConfiguration | Private method to initialize the environment configuration.
__installProjectIntoEnvironment | Private method to install the project into the embedded environment in development mode.
__isInPdata | Private method used to check, if the passed in filename is project controlled..
__loadDiagram | Private slot to load a diagram from file.
__loadEnvironmentConfiguration | Private method to load the embedded environment configuration.
__loadRecent | Private method to load the recently opened project filenames.
__makeFinished | Private slot handling the make process finished signal.
__makeReadStdErr | Private slot to process process output received via stderr.
__makeReadStdOut | Private slot to process process output received via stdout.
__openRecent | Private method to open a project from the list of rencently opened projects.
__performFormatWithBlack | Private method to format the project sources using the 'Black' tool.
__performImportSortingWithIsort | Private method to format the project sources import statements using the 'isort' tool.
__pluginCreateArchives | Private slot to create eric plugin archives.
__pluginCreatePkgList | Private slot to create a PKGLIST file needed for archive file creation.
__pluginCreateSnapshotArchives | Private slot to create eric plugin archive snapshot releases.
__pluginExtractVersion | Private method to extract the version number entry.
__readDebugProperties | Private method to read in the project debugger properties file (.edj).
__readProject | Private method to read in a project (.epj) file.
__readSession | Private method to read in the project session file (.esj).
__readTasks | Private method to read in the project tasks file (.etj).
__readUserProperties | Private method to read in the user specific project file (.eqj).
__reorganizeFiles | Private method to reorganize files stored in the project.
__saveEnvironmentConfiguration | Private method to save the embedded environment configuration.
__saveRecent | Private method to save the list of recently opened filenames.
__searchNewFiles | Private slot used to handle the search new files action.
__searchProjectFile | Private slot to show the Find Project File dialog.
__setEmbeddedEnvironmentProjectConfig | Private method to set the embedded environment project configuration.
__showCodeCoverage | Private slot used to show the code coverage information for the project files.
__showCodeMetrics | Private slot used to calculate some code metrics for the project files.
__showContextMenuApiDoc | Private slot called before the apidoc menu is shown.
__showContextMenuChecks | Private slot called before the checks menu is shown.
__showContextMenuDebugger | Private slot called before the Debugger menu is shown.
__showContextMenuEnvironment | Private slot called before the 'Embedded Environment' menu is shown.
__showContextMenuFormat | Private slot called before the 'Code Formatting' menu is shown.
__showContextMenuGraphics | Private slot called before the graphics menu is shown.
__showContextMenuMake | Private slot called before the make menu is shown.
__showContextMenuOthers | Private slot called before the 'Other Tools' menu is shown.
__showContextMenuPackagers | Private slot called before the packagers menu is shown.
__showContextMenuRecent | Private method to set up the recent projects menu.
__showContextMenuSession | Private slot called before the Session menu is shown.
__showContextMenuShow | Private slot called before the show menu is shown.
__showContextMenuVCS | Private slot called before the vcs menu is shown.
__showDebugProperties | Private slot to display the debugger properties dialog.
__showFiletypeAssociations | Private slot to display the filetype association dialog.
__showLexerAssociations | Private slot to display the lexer association dialog.
__showMenu | Private method to set up the project menu.
__showProfileData | Private slot used to show the profiling information for the project.
__showProperties | Private slot to display the properties dialog.
__showUserProperties | Private slot to display the user specific properties dialog.
__sourceExtensions | Private method to get the source extensions of a programming language.
__syncRecent | Private method to synchronize the list of recently opened projects with the central store.
__vcsConnectStatusMonitor | Private method to start the VCS monitor and connect its signals.
__vcsStatusChanged | Private slot to handle a change of the overall VCS status.
__writeDebugProperties | Private method to write the project debugger properties file (.edj).
__writeProject | Private method to save the project infos to a project file.
__writeSession | Private method to write the session data to an XML file (.esj).
__writeUserProperties | Private method to write the user specific project data to a JSON file.
addDirectory | Public method used to add all files of a directory to the project.
addEricActions | Public method to add actions to the list of actions.
addFileCategory | Public method to add a file category to the categories repository.
addFiles | Public slot used to add files to the project.
addLanguage | Public slot used to add a language to the project.
addToOthers | Public method to add a file/directory to the OTHERS project data.
appendFile | Public method to append a file to the project.
checkAllScriptsDirty | Public method to check all scripts belonging to the project for their dirty status.
checkDirty | Public method to check dirty status and open a message window.
checkLanguageFiles | Public slot to check the language files after a release process.
checkVCSStatus | Public method to wake up the VCS status monitor thread.
clearHistories | Public method to clear the project related histories.
clearRecent | Public method to clear the recent projects menu.
clearStatusMonitorCachedState | Public method to clear the cached VCS state of a file/directory.
closeProject | Public slot to close the current project.
copyDirectory | Public slot to copy a directory.
createNewProject | Public slot to built a new project.
createProjectManagementDir | Public method to create the project management directory.
defaultFileTypes | Public method to get a dictionary containing the default file type associations.
deleteDirectory | Public method to delete a directory from the project directory.
deleteFile | Public method to delete a file from the project directory.
deleteLanguageFile | Public slot to delete a translation from the project directory.
getAbsolutePath | Public method to convert a project relative file path to an absolute file path.
getAbsoluteUniversalPath | Public method to convert a project relative file path with universal separators to an absolute file path.
getActions | Public method to get a list of all actions.
getData | Public method to get data out of the project data store.
getDebugProperty | Public method to retrieve a debugger property.
getDebuggerFilters | Public method to get the debugger filters for a programming language.
getDefaultRccCompilerParameters | Public method to get the default rcc compiler parameters.
getDefaultSourceExtension | Public method to get the default extension for the project's programming language.
getDocstringType | Public method to get the configured docstring style.
getEditorLexerAssoc | Public method to retrieve a lexer association.
getEolString | Public method to get the EOL-string to be used by the project.
getFileCategories | Public method to get the list of known file categories.
getFileCategoryExtension | Public method to get a list of default file extensions for the given category.
getFileCategoryFilterString | Public method to get a file selection string for the given categories.
getFileCategoryFilters | Public method to get a list of file selection filters for the given categories.
getFileCategoryString | Public method to get a user string for the given category.
getFileCategoryType | Public method to get a user type string for the given category.
getFiles | Public method to get all files starting with a common prefix.
getFiletypeAssociations | Public method to get the list of file type associations for the given association type.
getHash | Public method to get the project hash.
getIgnorePatterns | Public method to get the list of file name patterns for files to be ignored.
getMainScript | Public method to return the main script filename.
getMenu | Public method to get a reference to the main menu or a submenu.
getModel | Public method to get a reference to the project browser model.
getMostRecent | Public method to get the most recently opened project.
getProgrammingLanguages | Public method to get the programming languages supported by project.
getProjectAuthor | Public method to get the author of the project.
getProjectAuthorEmail | Public method to get the email address of the project author.
getProjectData | Public method to get the data associated with the given data key.
getProjectDescription | Public method to get the description of the project.
getProjectDictionaries | Public method to get the names of the project specific dictionaries.
getProjectExecPath | Public method to get the executable search path prefix of the project.
getProjectFile | Public method to get the path of the project file.
getProjectFiles | Public method to get the file entries of the given type.
getProjectInterpreter | Public method to get the path of the interpreter used by the project.
getProjectLanguage | Public method to get the project's programming language.
getProjectLicense | Public method to get the license type used by the project.
getProjectManagementDir | Public method to get the path of the management directory.
getProjectName | Public method to get the name of the project.
getProjectPath | Public method to get the project path.
getProjectSpellLanguage | Public method to get the project's programming language.
getProjectTestingFramework | Public method to get the testing framework name of the project.
getProjectType | Public method to get the type of the project.
getProjectTypes | Public method to get the list of supported project types.
getProjectVenv | Public method to get the name of the virtual environment used by the project.
getProjectVenvPath | Public method to get the path name of the embedded virtual environment.
getProjectVersion | Public mehod to get the version number of the project.
getRelativePath | Public method to convert a file path to a project relative file path.
getRelativeUniversalPath | Public method to convert a file path to a project relative file path with universal separators.
getSources | Public method to return the source script files.
getStatusMonitorAutoUpdate | Public method to retrieve the status of the auto update function.
getStatusMonitorInterval | Public method to get the monitor interval.
getTranslationPattern | Public method to get the translation pattern.
getUicParameter | Public method to get a named uic related parameter.
getVcs | Public method to get a reference to the VCS object.
handleApplicationDiagram | Public method to handle the application diagram context menu action.
handlePreferencesChanged | Public slot used to handle the preferencesChanged signal.
hasDefaultDocstringParameter | Public method to test, if the project contains the default docstring parameter.
hasDefaultMakeParameters | Public method to test, if the project contains the default make parameters.
hasDefaultRccCompilerParameters | Public method to test, if the project contains the default rcc compiler parameters.
hasDefaultUicCompilerParameters | Public method to test, if the project contains the default uic compiler parameters.
hasEntry | Public method to check the project for a file.
hasProjectType | Public method to check, if a project type is already registered.
initActions | Public slot to initialize the project related actions.
initFileTypes | Public method to initialize the file type associations with default values.
initMenus | Public slot to initialize the project menus.
initToolbars | Public slot to initialize the project toolbar and the basic VCS toolbar.
initVCS | Public method used to instantiate a vcs system.
isDebugPropertiesLoaded | Public method to return the status of the debug properties.
isDirty | Public method to return the dirty state.
isJavaScriptProject | Public method to check, if this project is a JavaScript project.
isMakeEnabled | Public method to test, if make is enabled for the project.
isMicroPythonProject | Public method to check, if this project is a MicroPython project.
isMixedLanguageProject | Public method to check, if this is a mixed language project.
isOpen | Public method to return the opened state.
isProjectCategory | Public method to check, if the passed in filename belongs to the given category.
isProjectFile | Public method used to check, if the passed in filename belongs to the project.
isPy3Project | Public method to check, if this project is a Python3 project.
isPythonProject | Public method to check, if this project is a Python3 or MicroPython project.
isRubyProject | Public method to check, if this project is a Ruby project.
isVcsControlled | Public method to check, if the project is controlled by a VCS.
moveDirectory | Public slot to move a directory.
newProjectAddFiles | Public method to add files to a new project.
openProject | Public slot to open a project.
othersAdded | Public slot to be called, if something was added to the OTHERS project data area.
registerProjectType | Public method to register a project type.
removeDirectory | Public method to remove a directory from the project.
removeEricActions | Public method to remove actions from the list of actions.
removeFile | Public slot to remove a file from the project.
removeFileCategory | Public method to remove a category from the categories repository.
removeLanguageFile | Public slot to remove a translation from the project.
renameFile | Public slot to rename a file of the project.
renameFileInPdata | Public method to rename a file in the __pdata structure.
renameMainScript | Public method to rename the main script.
reopenProject | Public slot to reopen the current project.
repopulateItem | Public slot to repopulate a named item.
resetVCS | Public method to reset the VCS.
saveAllScripts | Public method to save all scripts belonging to the project.
saveProject | Public slot to save the current project.
saveProjectAs | Public slot to save the current project to a different file.
setData | Public method to store data in the project data store.
setDbgInfo | Public method to set the debugging information.
setDirty | Public method to set the dirty state.
setProjectData | Public method to set data associated with the given data key in the project dictionary.
setStatusMonitorAutoUpdate | Public method to enable the auto update function.
setStatusMonitorInterval | Public method to se the interval of the VCS status monitor thread.
setTranslationPattern | Public method to set the translation pattern.
startFileSystemMonitoring | Public method to (re)start monitoring the project file system.
startStatusMonitor | Public method to start the VCS status monitor thread.
startswithProjectPath | Public method to check, if a path starts with the project path.
stopFileSystemMonitoring | Public method to stop monitoring the project file system.
stopStatusMonitor | Public method to stop the VCS status monitor thread.
unregisterProjectType | Public method to unregister a project type.
updateFileTypes | Public method to update the filetype associations with new default values.
useSystemEol | Public method to check, if the project uses the system eol setting.
vcsSoftwareAvailable | Public method to check, if some supported VCS software is available to the IDE.
writeTasks | Public method to write the tasks data to a JSON file (.etj).

### Static Methods

None

#### Project (Constructor)

Project(parent=None, filename=None)

Constructor

parent (QWidget)
  parent widget (usually the ui object)
filename (str)
  optional filename of a project file to open

#### Project.__addRecursiveDirectory

__addRecursiveDirectory(filetype, source, target)

Private method used to add all files of a directory tree.

The tree is rooted at source to another one rooted at target. This method decents down to the lowest subdirectory.

filetype (str)
  type of files to add
source (str)
  source directory
target (str)
  target directory

#### Project.__addSingleDirectory

__addSingleDirectory(filetype, source, target, quiet=False)

Private method used to add all files of a single directory to the project.

filetype (str)
  type of files to add
source (str)
  source directory
target (str)
  target directory
quiet (bool)
  flag indicating quiet operations

#### Project.__autoExecuteMake

__autoExecuteMake()

Private slot to execute a project specific make run (auto-run) (execute or question).

#### Project.__binaryTranslationFile

__binaryTranslationFile(langFile)

Private method to calculate the filename of the binary translations file given the name of the raw translations file.

langFile (str)
  name of the raw translations file

Return:
  name of the binary translations file

Return Type:
  str

#### Project.__checkFilesExist

__checkFilesExist(index)

Private method to check, if the files in a list exist.

The files in the indicated list are checked for existance in the filesystem. Non existant files are removed from the list and the dirty state of the project is changed accordingly.

index (str)
  key of the list to be checked

#### Project.__checkProjectFileGroup

__checkProjectFileGroup(fn, group)

Private method to check, if a file is in a specific file group of the project.

fn (str)
  filename to be checked
group (str)
  group to check

Return:
  flag indicating membership

Return Type:
  bool

#### Project.__cleanupMake

__cleanupMake()

Private method to clean up make related stuff.

#### Project.__closeAllWindows

__closeAllWindows()

Private method to close all project related windows.

#### Project.__configureBlack

__configureBlack()

Private slot to enter the parameters for formatting the project sources with 'Black'.

#### Project.__configureEnvironment

__configureEnvironment(environmentPath="")

Private slot to configure the embedded environment.

environmentPath (str (optional))
  path of the virtual environment (defaults to "")

#### Project.__configureIsort

__configureIsort()

Private slot to enter the parameters for formatting the import statements of the project sources with 'isort'.

#### Project.__createEmbeddedEnvironment

__createEmbeddedEnvironment(upgrade=False, force=False)

Private method to create the embedded virtual environment.

upgrade (bool (optional))
  flag indicating an upgrade operation (defaults to False)
force (bool (optional))
  flag indicating to force the creation (defaults to False)

#### Project.__createSBOMFile

__createSBOMFile()

Private slot to create a SBOM file of the project dependencies.

#### Project.__createSnapshotSource

__createSnapshotSource(filename)

Private method to create a snapshot plugin version.

The version entry in the plugin module is modified to signify a snapshot version. This method appends the string "-snapshot-" and date indicator to the version string.

filename (str)
  name of the plugin file to modify

Return:
  modified source (bytes), snapshot version string

Return Type:
  str

#### Project.__createZipDirEntries

__createZipDirEntries(path, zipFile)

Private method to create dir entries in the zip file.

path (str)
  name of the directory entry to create
zipFile (zipfile.ZipFile)
  open ZipFile object

#### Project.__deleteDebugProperties

__deleteDebugProperties()

Private method to delete the project debugger properties file (.edj).

#### Project.__deleteSession

__deleteSession()

Private method to delete the session file.

#### Project.__doSearchNewFiles

__doSearchNewFiles(AI=True, onUserDemand=False)

Private method to search for new files in the project directory.

If new files were found, it shows a dialog listing these files and gives the user the opportunity to select the ones he wants to include. If 'Automatic Inclusion' is enabled, the new files are automatically added to the project.

AI (bool)
  flag indicating whether the automatic inclusion should be honoured
onUserDemand (bool)
  flag indicating whether this method was requested by the user via a menu action

#### Project.__executeMake

__executeMake(questionOnly=False, interactive=True)

Private method to execute a project specific make run.

questionOnly (bool)
  flag indicating to ask make for changes only
interactive (bool)
  flag indicating an interactive invocation (i.e. through a menu action)

#### Project.__findEmbeddedEnvironment

__findEmbeddedEnvironment()

Private method to find the path of the embedded virtual environment.

Return:
  path of the embedded virtual environment (empty if not found)

Return Type:
  str

#### Project.__initData

__initData()

Private method to initialize the project data part.

#### Project.__initDebugProperties

__initDebugProperties()

Private method to initialize the debug properties.

#### Project.__initProjectTypes

__initProjectTypes()

Private method to initialize the list of supported project types.

#### Project.__initVenvConfiguration

__initVenvConfiguration()

Private method to initialize the environment configuration.

#### Project.__installProjectIntoEnvironment

__installProjectIntoEnvironment()

Private method to install the project into the embedded environment in development mode.

#### Project.__isInPdata

__isInPdata(fn)

Private method used to check, if the passed in filename is project controlled..

fn (str)
  filename to be checked

Return:
  flag indicating membership

Return Type:
  bool

#### Project.__loadDiagram

__loadDiagram()

Private slot to load a diagram from file.

#### Project.__loadEnvironmentConfiguration

__loadEnvironmentConfiguration()

Private method to load the embedded environment configuration.

#### Project.__loadRecent

__loadRecent()

Private method to load the recently opened project filenames.

#### Project.__makeFinished

__makeFinished(exitCode, exitStatus, questionOnly)

Private slot handling the make process finished signal.

exitCode (int)
  exit code of the make process
exitStatus (QProcess.ExitStatus)
  exit status of the make process
questionOnly (bool)
  flag indicating a test only run

#### Project.__makeReadStdErr

__makeReadStdErr()

Private slot to process process output received via stderr.

#### Project.__makeReadStdOut

__makeReadStdOut()

Private slot to process process output received via stdout.

#### Project.__openRecent

__openRecent(act)

Private method to open a project from the list of rencently opened projects.

act (QAction)
  reference to the action that triggered

#### Project.__performFormatWithBlack

__performFormatWithBlack(action)

Private method to format the project sources using the 'Black' tool.

Following actions are supported.

- BlackFormattingAction.Format - the code reformatting is performed
- BlackFormattingAction.Check - a check is performed, if code formatting is necessary
- BlackFormattingAction.Diff - a unified diff of potential code formatting changes is generated

action (BlackFormattingAction)
  formatting operation to be performed

#### Project.__performImportSortingWithIsort

__performImportSortingWithIsort(action)

Private method to format the project sources import statements using the 'isort' tool.

Following actions are supported.

- IsortFormattingAction.Format - the imports reformatting is performed
- IsortFormattingAction.Check - a check is performed, if imports formatting is necessary
- IsortFormattingAction.Diff - a unified diff of potential imports formatting changes is generated

action (IsortFormattingAction)
  formatting operation to be performed

#### Project.__pluginCreateArchives

__pluginCreateArchives(snapshot=False)

Private slot to create eric plugin archives.

snapshot (bool)
  flag indicating snapshot archives

#### Project.__pluginCreatePkgList

__pluginCreatePkgList()

Private slot to create a PKGLIST file needed for archive file creation.

#### Project.__pluginCreateSnapshotArchives

__pluginCreateSnapshotArchives()

Private slot to create eric plugin archive snapshot releases.

#### Project.__pluginExtractVersion

__pluginExtractVersion(filename)

Private method to extract the version number entry.

filename (str)
  name of the plugin file

Return:
  version string

Return Type:
  str

#### Project.__readDebugProperties

__readDebugProperties(quiet=False)

Private method to read in the project debugger properties file (.edj).

quiet (bool)
  flag indicating quiet operations. If this flag is true, no errors are reported.

#### Project.__readProject

__readProject(fn)

Private method to read in a project (.epj) file.

fn (str)
  filename of the project file to be read

Return:
  flag indicating success

Return Type:
  bool

#### Project.__readSession

__readSession(quiet=False, indicator="")

Private method to read in the project session file (.esj).

quiet (bool)
  flag indicating quiet operations. If this flag is true, no errors are reported.
indicator (str)
  indicator string

#### Project.__readTasks

__readTasks()

Private method to read in the project tasks file (.etj).

#### Project.__readUserProperties

__readUserProperties()

Private method to read in the user specific project file (.eqj).

#### Project.__reorganizeFiles

__reorganizeFiles()

Private method to reorganize files stored in the project.

#### Project.__saveEnvironmentConfiguration

__saveEnvironmentConfiguration()

Private method to save the embedded environment configuration.

#### Project.__saveRecent

__saveRecent()

Private method to save the list of recently opened filenames.

#### Project.__searchNewFiles

__searchNewFiles()

Private slot used to handle the search new files action.

#### Project.__searchProjectFile

__searchProjectFile()

Private slot to show the Find Project File dialog.

#### Project.__setEmbeddedEnvironmentProjectConfig

__setEmbeddedEnvironmentProjectConfig(value)

Private method to set the embedded environment project configuration.

value (bool)
  flag indicating an embedded environment

#### Project.__showCodeCoverage

__showCodeCoverage()

Private slot used to show the code coverage information for the project files.

#### Project.__showCodeMetrics

__showCodeMetrics()

Private slot used to calculate some code metrics for the project files.

#### Project.__showContextMenuApiDoc

__showContextMenuApiDoc()

Private slot called before the apidoc menu is shown.

#### Project.__showContextMenuChecks

__showContextMenuChecks()

Private slot called before the checks menu is shown.

#### Project.__showContextMenuDebugger

__showContextMenuDebugger()

Private slot called before the Debugger menu is shown.

#### Project.__showContextMenuEnvironment

__showContextMenuEnvironment()

Private slot called before the 'Embedded Environment' menu is shown.

#### Project.__showContextMenuFormat

__showContextMenuFormat()

Private slot called before the 'Code Formatting' menu is shown.

#### Project.__showContextMenuGraphics

__showContextMenuGraphics()

Private slot called before the graphics menu is shown.

#### Project.__showContextMenuMake

__showContextMenuMake()

Private slot called before the make menu is shown.

#### Project.__showContextMenuOthers

__showContextMenuOthers()

Private slot called before the 'Other Tools' menu is shown.

#### Project.__showContextMenuPackagers

__showContextMenuPackagers()

Private slot called before the packagers menu is shown.

#### Project.__showContextMenuRecent

__showContextMenuRecent()

Private method to set up the recent projects menu.

#### Project.__showContextMenuSession

__showContextMenuSession()

Private slot called before the Session menu is shown.

#### Project.__showContextMenuShow

__showContextMenuShow()

Private slot called before the show menu is shown.

#### Project.__showContextMenuVCS

__showContextMenuVCS()

Private slot called before the vcs menu is shown.

#### Project.__showDebugProperties

__showDebugProperties()

Private slot to display the debugger properties dialog.

#### Project.__showFiletypeAssociations

__showFiletypeAssociations()

Private slot to display the filetype association dialog.

#### Project.__showLexerAssociations

__showLexerAssociations()

Private slot to display the lexer association dialog.

#### Project.__showMenu

__showMenu()

Private method to set up the project menu.

#### Project.__showProfileData

__showProfileData()

Private slot used to show the profiling information for the project.

#### Project.__showProperties

__showProperties()

Private slot to display the properties dialog.

#### Project.__showUserProperties

__showUserProperties()

Private slot to display the user specific properties dialog.

#### Project.__sourceExtensions

__sourceExtensions(language)

Private method to get the source extensions of a programming language.

language (str)
  programming language

Return:
  source extensions

Return Type:
  list of str

#### Project.__syncRecent

__syncRecent()

Private method to synchronize the list of recently opened projects with the central store.

#### Project.__vcsConnectStatusMonitor

__vcsConnectStatusMonitor()

Private method to start the VCS monitor and connect its signals.

#### Project.__vcsStatusChanged

__vcsStatusChanged()

Private slot to handle a change of the overall VCS status.

#### Project.__writeDebugProperties

__writeDebugProperties(quiet=False)

Private method to write the project debugger properties file (.edj).

quiet (bool)
  flag indicating quiet operations. If this flag is true, no errors are reported.

#### Project.__writeProject

__writeProject(fn=None)

Private method to save the project infos to a project file.

fn (str)
  optional filename of the project file to be written (string). If fn is None, the filename stored in the project object is used. This is the 'save' action. If fn is given, this filename is used instead of the one in the project object. This is the 'save as' action.

Return:
  flag indicating success

Return Type:
  bool

#### Project.__writeSession

__writeSession(quiet=False, indicator="")

Private method to write the session data to an XML file (.esj).

quiet (bool)
  flag indicating quiet operations. If this flag is true, no errors are reported.
indicator (str)
  indicator string

#### Project.__writeUserProperties

__writeUserProperties()

Private method to write the user specific project data to a JSON file.

#### Project.addDirectory

addDirectory(fileTypeFilter=None, startdir=None)

Public method used to add all files of a directory to the project.

fileTypeFilter (str)
  filter to be used by the add directory dialog
startdir (str)
  start directory for the selection dialog

#### Project.addEricActions

addEricActions(actions)

Public method to add actions to the list of actions.

actions (list of EricAction)
  list of actions

#### Project.addFileCategory

addFileCategory(category, categoryItem)

Public method to add a file category to the categories repository.

Note: The given category must not be contained in the repository already.

category (str)
  file category (must be unique)
categoryItem (FileCategoryRepositoryItem)
  data class instance containing the category data

Raises TypeError:
  raised to signal a wrong type for the category item

#### Project.addFiles

addFiles(fileTypeFilter=None, startdir=None)

Public slot used to add files to the project.

fileTypeFilter (str)
  filter to be used by the add file dialog
startdir (str)
  start directory for the selection dialog

#### Project.addLanguage

addLanguage()

Public slot used to add a language to the project.

#### Project.addToOthers

addToOthers(fn)

Public method to add a file/directory to the OTHERS project data.

fn (str)
  file name or directory name to add

#### Project.appendFile

appendFile(fn, isSourceFile=False, updateModel=True)

Public method to append a file to the project.

fn (str)
  filename to be added to the project
isSourceFile (bool)
  flag indicating that this is a source file even if it doesn't have the source extension
updateModel (bool)
  flag indicating an update of the model is requested

#### Project.checkAllScriptsDirty

checkAllScriptsDirty(reportSyntaxErrors=False)

Public method to check all scripts belonging to the project for their dirty status.

reportSyntaxErrors (bool)
  flag indicating special reporting for syntax errors

Return:
  flag indicating success

Return Type:
  bool

#### Project.checkDirty

checkDirty()

Public method to check dirty status and open a message window.

Return:
  flag indicating whether this operation was successful

Return Type:
  bool

#### Project.checkLanguageFiles

checkLanguageFiles()

Public slot to check the language files after a release process.

#### Project.checkVCSStatus

checkVCSStatus()

Public method to wake up the VCS status monitor thread.

#### Project.clearHistories

clearHistories()

Public method to clear the project related histories.

#### Project.clearRecent

clearRecent()

Public method to clear the recent projects menu.

#### Project.clearStatusMonitorCachedState

clearStatusMonitorCachedState(name)

Public method to clear the cached VCS state of a file/directory.

name (str)
  name of the entry to be cleared

#### Project.closeProject

closeProject(reopen=False, noSave=False, shutdown=False)

Public slot to close the current project.

reopen (bool)
  flag indicating a reopening of the project
noSave (bool)
  flag indicating to not perform save actions
shutdown (bool)
  flag indicating the IDE shutdown

Return:
  flag indicating success

Return Type:
  bool

#### Project.copyDirectory

copyDirectory(olddn, newdn)

Public slot to copy a directory.

olddn (str)
  original directory name
newdn (str)
  new directory name

#### Project.createNewProject

createNewProject()

Public slot to built a new project.

This method displays the new project dialog and initializes the project object with the data entered.

#### Project.createProjectManagementDir

createProjectManagementDir()

Public method to create the project management directory.

It does nothing, if it already exists.

#### Project.defaultFileTypes

defaultFileTypes(progLanguage, isMixed, projectType)

Public method to get a dictionary containing the default file type associations.

progLanguage (str)
  programming language (main language)
isMixed (bool)
  flag indicating a project with multiple programming languages
projectType (str)
  type of the project

Return:
  dictionary containing the default file type associations

Return Type:
  dict

#### Project.deleteDirectory

deleteDirectory(dn)

Public method to delete a directory from the project directory.

dn (str)
  directory name to be removed from the project

Return:
  flag indicating success

Return Type:
  bool

#### Project.deleteFile

deleteFile(fn)

Public method to delete a file from the project directory.

fn (str)
  filename to be deleted from the project

Return:
  flag indicating success

Return Type:
  bool

#### Project.deleteLanguageFile

deleteLanguageFile(langFile)

Public slot to delete a translation from the project directory.

langFile (str)
  the translation file to be removed

#### Project.getAbsolutePath

getAbsolutePath(fn)

Public method to convert a project relative file path to an absolute file path.

fn (str)
  file or directory name to convert

Return:
  absolute path

Return Type:
  str

#### Project.getAbsoluteUniversalPath

getAbsoluteUniversalPath(fn)

Public method to convert a project relative file path with universal separators to an absolute file path.

fn (str)
  file or directory name to convert

Return:
  absolute path

Return Type:
  str

#### Project.getActions

getActions()

Public method to get a list of all actions.

Return:
  list of all actions

Return Type:
  list of EricAction

#### Project.getData

getData(category, key, default=None)

Public method to get data out of the project data store.

category (str)
  category of the data to get (one of PROJECTTYPESPECIFICDATA, CHECKERSPARMS, PACKAGERSPARMS, DOCUMENTATIONPARMS or OTHERTOOLSPARMS)
key (str)
  key of the data entry to get
default (Any (optional))
  value to return in case the key is not found (defaults to None)

Return:
  a copy of the requested data or None

Return Type:
  Any

#### Project.getDebugProperty

getDebugProperty(key)

Public method to retrieve a debugger property.

key (str)
  key of the property

Return:
  value of the property

Return Type:
  Any

#### Project.getDebuggerFilters

getDebuggerFilters(language)

Public method to get the debugger filters for a programming language.

language (str)
  programming language

Return:
  filter string

Return Type:
  str

#### Project.getDefaultRccCompilerParameters

getDefaultRccCompilerParameters()

Public method to get the default rcc compiler parameters.

Return:
  dictionary containing the default rcc compiler parameters

Return Type:
  dict

#### Project.getDefaultSourceExtension

getDefaultSourceExtension()

Public method to get the default extension for the project's programming language.

Return:
  default extension (including the dot)

Return Type:
  str

#### Project.getDocstringType

getDocstringType()

Public method to get the configured docstring style.

Return:
  configured docstring style

Return Type:
  str

#### Project.getEditorLexerAssoc

getEditorLexerAssoc(filename)

Public method to retrieve a lexer association.

filename (str)
  filename used to determine the associated lexer language

Return:
  the requested lexer language

Return Type:
  str

#### Project.getEolString

getEolString()

Public method to get the EOL-string to be used by the project.

Return:
  eol string

Return Type:
  str

#### Project.getFileCategories

getFileCategories()

Public method to get the list of known file categories.

Return:
  list of known file categories

Return Type:
  list of str

#### Project.getFileCategoryExtension

getFileCategoryExtension(category, reverse=False)

Public method to get a list of default file extensions for the given category.

category (str)
  file type category
reverse (bool)
  flag indicating to get all other extensions except the one of the given category

Return:
  list of default file extensions for the category

Return Type:
  list of str

#### Project.getFileCategoryFilterString

getFileCategoryFilterString(categories=None, withOthers=False, withAll=True)

Public method to get a file selection string for the given categories.

categories (list of str (optional))
  list of file type categories (defaults to None). A value of None means all categories except 'OTHERS'.
withOthers (bool (optional))
  flag indicating to include the 'OTHERS' category (defaults to False)
withAll (bool (optional))
  flag indicating to include a filter for 'All Files' (defaults to True)

Return:
  file selection filter string

Return Type:
  str

#### Project.getFileCategoryFilters

getFileCategoryFilters(categories=None, withOthers=False, withAll=True)

Public method to get a list of file selection filters for the given categories.

categories (list of str (optional))
  list of file type categories (defaults to None). A value of None means all categories except 'OTHERS'.
withOthers (bool (optional))
  flag indicating to include the 'OTHERS' category (defaults to False)
withAll (bool (optional))
  flag indicating to include a filter for 'All Files' (defaults to True)

Return:
  list of file selection filter strings

Return Type:
  list of str

#### Project.getFileCategoryString

getFileCategoryString(category)

Public method to get a user string for the given category.

category (str)
  file type category

Return:
  user string for the category

Return Type:
  str

#### Project.getFileCategoryType

getFileCategoryType(category)

Public method to get a user type string for the given category.

category (str)
  file type category

Return:
  user type string for the category

Return Type:
  str

#### Project.getFiles

getFiles(start)

Public method to get all files starting with a common prefix.

start (str)
  prefix

Return:
  list of files starting with a common prefix

Return Type:
  list of str

#### Project.getFiletypeAssociations

getFiletypeAssociations(associationType)

Public method to get the list of file type associations for the given association type.

associationType (str)
  type of the association (one of the known file categories or __IGNORE__)

Return:
  list of file patterns for the given type

Return Type:
  list of str

#### Project.getHash

getHash()

Public method to get the project hash.

Return:
  project hash as a hex string

Return Type:
  str

#### Project.getIgnorePatterns

getIgnorePatterns()

Public method to get the list of file name patterns for files to be ignored.

Return:
  list of ignore file name patterns

Return Type:
  list of str

#### Project.getMainScript

getMainScript(normalized=False)

Public method to return the main script filename.

The normalized name is the name of the main script prepended with the project path.

normalized (bool)
  flag indicating a normalized filename is wanted

Return:
  filename of the projects main script

Return Type:
  str

#### Project.getMenu

getMenu(menuName)

Public method to get a reference to the main menu or a submenu.

menuName (str)
  name of the menu

Return:
  reference to the requested menu or None

Return Type:
  QMenu

#### Project.getModel

getModel()

Public method to get a reference to the project browser model.

Return:
  reference to the project browser model

Return Type:
  ProjectBrowserModel

#### Project.getMostRecent

getMostRecent()

Public method to get the most recently opened project.

Return:
  path of the most recently opened project

Return Type:
  str

#### Project.getProgrammingLanguages

getProgrammingLanguages()

Public method to get the programming languages supported by project.

Return:
  list of supported programming languages

Return Type:
  list of str

#### Project.getProjectAuthor

getProjectAuthor()

Public method to get the author of the project.

Return:
  author name

Return Type:
  str

#### Project.getProjectAuthorEmail

getProjectAuthorEmail()

Public method to get the email address of the project author.

Return:
  project author email

Return Type:
  str

#### Project.getProjectData

getProjectData(dataKey=None, default=None)

Public method to get the data associated with the given data key.

Note: If dataKey is None, a copy of the project data structure is returned.

dataKey (str (optional))
  key of the data to get (defaults to None)
default (Any (optional))
  default value for non-existent keys (defaults to None)

Return:
  requested data or None if the data key doesn't exist or a copy of the project data dictionary

Return Type:
  Any

#### Project.getProjectDescription

getProjectDescription()

Public method to get the description of the project.

Return:
  project description

Return Type:
  str

#### Project.getProjectDictionaries

getProjectDictionaries()

Public method to get the names of the project specific dictionaries.

Return:
  tuple containing the absolute path names of the project specific word and exclude list

Return Type:
  tuple of (str, str)

#### Project.getProjectExecPath

getProjectExecPath()

Public method to get the executable search path prefix of the project.

Return:
  executable search path prefix

Return Type:
  str

#### Project.getProjectFile

getProjectFile()

Public method to get the path of the project file.

Return:
  path of the project file

Return Type:
  str

#### Project.getProjectFiles

getProjectFiles(fileType, normalized=False)

Public method to get the file entries of the given type.

fileType (str)
  project file type (one of the known file categories)
normalized (boolean)
  flag indicating normalized file names are wanted

Return:
  list of file names

Return Type:
  list of str

Raises ValueError:
  raised when an unsupported file type is given

#### Project.getProjectInterpreter

getProjectInterpreter(resolveGlobal=True)

Public method to get the path of the interpreter used by the project.

resolveGlobal (bool)
  flag indicating to resolve the interpreter using the global interpreter if no project or debugger specific environment was configured

Return:
  path of the project's interpreter

Return Type:
  str

#### Project.getProjectLanguage

getProjectLanguage()

Public method to get the project's programming language.

Return:
  programming language

Return Type:
  str

#### Project.getProjectLicense

getProjectLicense()

Public method to get the license type used by the project.

Return:
  license type of the project

Return Type:
  str

#### Project.getProjectManagementDir

getProjectManagementDir()

Public method to get the path of the management directory.

Return:
  path of the management directory

Return Type:
  str

#### Project.getProjectName

getProjectName()

Public method to get the name of the project.

The project name is determined from the name of the project file.

Return:
  name of the project

Return Type:
  str

#### Project.getProjectPath

getProjectPath()

Public method to get the project path.

Return:
  project path

Return Type:
  str

#### Project.getProjectSpellLanguage

getProjectSpellLanguage()

Public method to get the project's programming language.

Return:
  programming language

Return Type:
  str

#### Project.getProjectTestingFramework

getProjectTestingFramework()

Public method to get the testing framework name of the project.

Return:
  testing framework name of the project

Return Type:
  str

#### Project.getProjectType

getProjectType()

Public method to get the type of the project.

Return:
  UI type of the project

Return Type:
  str

#### Project.getProjectTypes

getProjectTypes(progLanguage="")

Public method to get the list of supported project types.

progLanguage (str)
  programming language to get project types for

Return:
  reference to the dictionary of project types.

Return Type:
  dict

#### Project.getProjectVenv

getProjectVenv(resolveDebugger=True)

Public method to get the name of the virtual environment used by the project.

resolveDebugger (bool)
  flag indicating to resolve the virtual environment name via the debugger settings if none was configured

Return:
  name of the project's virtual environment

Return Type:
  str

#### Project.getProjectVenvPath

getProjectVenvPath()

Public method to get the path name of the embedded virtual environment.

Return:
  path name of the embedded virtual environment

Return Type:
  str

#### Project.getProjectVersion

getProjectVersion()

Public mehod to get the version number of the project.

Return:
  version number

Return Type:
  str

#### Project.getRelativePath

getRelativePath(path)

Public method to convert a file path to a project relative file path.

path (str)
  file or directory name to convert

Return:
  project relative path or unchanged path, if path doesn't belong to the project

Return Type:
  str

#### Project.getRelativeUniversalPath

getRelativeUniversalPath(path)

Public method to convert a file path to a project relative file path with universal separators.

path (str)
  file or directory name to convert

Return:
  project relative path or unchanged path, if path doesn't belong to the project

Return Type:
  str

#### Project.getSources

getSources(normalized=False)

Public method to return the source script files.

normalized (bool)
  flag indicating a normalized filename is wanted

Return:
  list of the projects scripts

Return Type:
  list of str

#### Project.getStatusMonitorAutoUpdate

getStatusMonitorAutoUpdate()

Public method to retrieve the status of the auto update function.

Return:
  status of the auto update function

Return Type:
  bool

#### Project.getStatusMonitorInterval

getStatusMonitorInterval()

Public method to get the monitor interval.

Return:
  interval in seconds

Return Type:
  int

#### Project.getTranslationPattern

getTranslationPattern()

Public method to get the translation pattern.

Return:
  translation pattern

Return Type:
  str

#### Project.getUicParameter

getUicParameter(name)

Public method to get a named uic related parameter.

name (str)
  name of the parameter

Return:
  value of the given parameter

Return Type:
  Any, None in case on non-existence

#### Project.getVcs

getVcs()

Public method to get a reference to the VCS object.

Return:
  reference to the VCS object

Return Type:
  VersionControl

#### Project.handleApplicationDiagram

handleApplicationDiagram()

Public method to handle the application diagram context menu action.

#### Project.handlePreferencesChanged

handlePreferencesChanged()

Public slot used to handle the preferencesChanged signal.

#### Project.hasDefaultDocstringParameter

hasDefaultDocstringParameter()

Public method to test, if the project contains the default docstring parameter.

Return:
  flag indicating default parameter

Return Type:
  bool

#### Project.hasDefaultMakeParameters

hasDefaultMakeParameters()

Public method to test, if the project contains the default make parameters.

Return:
  flag indicating default parameter set

Return Type:
  bool

#### Project.hasDefaultRccCompilerParameters

hasDefaultRccCompilerParameters()

Public method to test, if the project contains the default rcc compiler parameters.

Return:
  flag indicating default parameter set

Return Type:
  bool

#### Project.hasDefaultUicCompilerParameters

hasDefaultUicCompilerParameters()

Public method to test, if the project contains the default uic compiler parameters.

Return:
  flag indicating default parameter set

Return Type:
  bool

#### Project.hasEntry

hasEntry(fn)

Public method to check the project for a file.

fn (str)
  filename to be checked

Return:
  flag indicating, if the project contains the file

Return Type:
  bool

#### Project.hasProjectType

hasProjectType(type_, progLanguage="")

Public method to check, if a project type is already registered.

type_ (str)
  internal type designator
progLanguage (str)
  programming language of the project type

Return:
  flag indicating presence of the project type

Return Type:
  bool

#### Project.initActions

initActions()

Public slot to initialize the project related actions.

#### Project.initFileTypes

initFileTypes()

Public method to initialize the file type associations with default values.

#### Project.initMenus

initMenus()

Public slot to initialize the project menus.

Return:
  tuple of generated menus

Return Type:
  tuple of (QMenu, QMenu)

#### Project.initToolbars

initToolbars(toolbarManager)

Public slot to initialize the project toolbar and the basic VCS toolbar.

toolbarManager (EricToolBarManager)
  reference to a toolbar manager object

Return:
  tuple of the generated toolbars

Return Type:
  tuple of two QToolBar

#### Project.initVCS

initVCS(vcsSystem=None, nooverride=False)

Public method used to instantiate a vcs system.

vcsSystem (str)
  type of VCS to be used
nooverride (bool)
  flag indicating to ignore an override request

Return:
  a reference to the vcs object

Return Type:
  VersionControl

#### Project.isDebugPropertiesLoaded

isDebugPropertiesLoaded()

Public method to return the status of the debug properties.

Return:
  load status of debug properties

Return Type:
  bool

#### Project.isDirty

isDirty()

Public method to return the dirty state.

Return:
  dirty state

Return Type:
  bool

#### Project.isJavaScriptProject

isJavaScriptProject()

Public method to check, if this project is a JavaScript project.

Return:
  flag indicating a JavaScript project

Return Type:
  bool

#### Project.isMakeEnabled

isMakeEnabled()

Public method to test, if make is enabled for the project.

Return:
  flag indicating enabled make support

Return Type:
  bool

#### Project.isMicroPythonProject

isMicroPythonProject()

Public method to check, if this project is a MicroPython project.

Return:
  flag indicating a MicroPython project

Return Type:
  bool

#### Project.isMixedLanguageProject

isMixedLanguageProject()

Public method to check, if this is a mixed language project.

Return:
  flag indicating a mixed language project

Return Type:
  bool

#### Project.isOpen

isOpen()

Public method to return the opened state.

Return:
  open state

Return Type:
  bool

#### Project.isProjectCategory

isProjectCategory(fn, category)

Public method to check, if the passed in filename belongs to the given category.

fn (str)
  filename to be checked
category (str)
  file category to check against

Return:
  flag indicating membership

Return Type:
  bool

#### Project.isProjectFile

isProjectFile(fn)

Public method used to check, if the passed in filename belongs to the project.

fn (str)
  filename to be checked

Return:
  flag indicating membership

Return Type:
  bool

#### Project.isPy3Project

isPy3Project()

Public method to check, if this project is a Python3 project.

Return:
  flag indicating a Python3 project

Return Type:
  bool

#### Project.isPythonProject

isPythonProject()

Public method to check, if this project is a Python3 or MicroPython project.

Return:
  flag indicating a Python project

Return Type:
  bool

#### Project.isRubyProject

isRubyProject()

Public method to check, if this project is a Ruby project.

Return:
  flag indicating a Ruby project

Return Type:
  bool

#### Project.isVcsControlled

isVcsControlled()

Public method to check, if the project is controlled by a VCS.

Return:
  flag indicating a VCS controlled project

Return Type:
  bool

#### Project.moveDirectory

moveDirectory(olddn, newdn)

Public slot to move a directory.

olddn (str)
  old directory name
newdn (str)
  new directory name

#### Project.newProjectAddFiles

newProjectAddFiles(mainscript)

Public method to add files to a new project.

mainscript (str)
  name of the mainscript

#### Project.openProject

openProject(fn=None, restoreSession=True, reopen=False)

Public slot to open a project.

fn (str)
  optional filename of the project file to be read
restoreSession (bool)
  flag indicating to restore the project session
reopen (bool)
  flag indicating a reopening of the project

#### Project.othersAdded

othersAdded(fn, updateModel=True)

Public slot to be called, if something was added to the OTHERS project data area.

fn (str)
  filename or directory name added
updateModel (bool)
  flag indicating an update of the model is requested

#### Project.registerProjectType

registerProjectType(type_, description, fileTypeCallback=None, binaryTranslationsCallback=None, lexerAssociationCallback=None, progLanguages=None, )

Public method to register a project type.

type_ (str)
  internal type designator to be registered
description (str)
  more verbose type name (display string)
fileTypeCallback (function)
  reference to a method returning a dictionary of filetype associations
binaryTranslationsCallback (function)
  reference to a method returning the name of the binary translation file given the name of the raw translation file
lexerAssociationCallback (function)
  reference to a method returning the lexer type to be used for syntax highlighting given the name of a file
progLanguages (list of str)
  programming languages supported by the project type

#### Project.removeDirectory

removeDirectory(dn)

Public method to remove a directory from the project.

The directory is not deleted from the project directory.

dn (str)
  directory name to be removed from the project

#### Project.removeEricActions

removeEricActions(actions)

Public method to remove actions from the list of actions.

actions (list of EricAction)
  list of actions

#### Project.removeFile

removeFile(fn, updateModel=True)

Public slot to remove a file from the project.

The file is not deleted from the project directory.

fn (str)
  filename to be removed from the project
updateModel (bool)
  flag indicating an update of the model is requested

#### Project.removeFileCategory

removeFileCategory(category)

Public method to remove a category from the categories repository.

Note: If the category is not contained in the repository, the request to remove it will be ignored silently.

category (str)
  file category

#### Project.removeLanguageFile

removeLanguageFile(langFile)

Public slot to remove a translation from the project.

The translation file is not deleted from the project directory.

langFile (str)
  the translation file to be removed

#### Project.renameFile

renameFile(oldfn, newfn=None)

Public slot to rename a file of the project.

oldfn (str)
  old filename of the file
newfn (str)
  new filename of the file

Return:
  flag indicating success

Return Type:
  bool

#### Project.renameFileInPdata

renameFileInPdata(oldname, newname, isSourceFile=False)

Public method to rename a file in the __pdata structure.

oldname (str)
  old filename
newname (str)
  new filename
isSourceFile (bool)
  flag indicating that this is a source file even if it doesn't have the source extension

#### Project.renameMainScript

renameMainScript(oldfn, newfn)

Public method to rename the main script.

oldfn (str)
  old filename
newfn (str)
  new filename of the main script

#### Project.reopenProject

reopenProject()

Public slot to reopen the current project.

#### Project.repopulateItem

repopulateItem(fullname)

Public slot to repopulate a named item.

fullname (str)
  full name of the item to repopulate

#### Project.resetVCS

resetVCS()

Public method to reset the VCS.

#### Project.saveAllScripts

saveAllScripts(reportSyntaxErrors=False)

Public method to save all scripts belonging to the project.

reportSyntaxErrors (bool)
  flag indicating special reporting for syntax errors

Return:
  flag indicating success

Return Type:
  bool

#### Project.saveProject

saveProject()

Public slot to save the current project.

Return:
  flag indicating success

Return Type:
  bool

#### Project.saveProjectAs

saveProjectAs()

Public slot to save the current project to a different file.

Return:
  flag indicating success

Return Type:
  bool

#### Project.setData

setData(category, key, data)

Public method to store data in the project data store.

category (str)
  category of the data to get (one of PROJECTTYPESPECIFICDATA, CHECKERSPARMS, PACKAGERSPARMS, DOCUMENTATIONPARMS or OTHERTOOLSPARMS)
key (str)
  key of the data entry to get
data (Any)
  data to be stored

Return:
  flag indicating success

Return Type:
  bool

#### Project.setDbgInfo

setDbgInfo(venvName, argv, wd, env, excList, excIgnoreList, autoClearShell, tracePython=None, autoContinue=None, reportAllExceptions=None, enableMultiprocess=None, multiprocessNoDebug=None, configOverride=None, )

Public method to set the debugging information.

venvName (str)
  name of the virtual environment used
argv (str)
  command line arguments to be used
wd (str)
  working directory
env (str)
  environment setting
excList (list of str)
  list of exceptions to be highlighted
excIgnoreList (list of str)
  list of exceptions to be ignored
autoClearShell (bool)
  flag indicating, that the interpreter window should be cleared
tracePython (bool)
  flag to indicate if the Python library should be traced as well
autoContinue (bool)
  flag indicating, that the debugger should not stop at the first executable line
reportAllExceptions (bool)
  flag indicating to report all exceptions instead of unhandled exceptions only
enableMultiprocess (bool)
  flag indicating, that the debugger should run in multi process mode
multiprocessNoDebug (str)
  list of programs not to be debugged in multi process mode
configOverride (dict)
  dictionary containing the global config override data

#### Project.setDirty

setDirty(dirty)

Public method to set the dirty state.

It emits the signal dirty(bool).

dirty (bool)
  dirty state

#### Project.setProjectData

setProjectData(data, dataKey=None, setDirty=True)

Public method to set data associated with the given data key in the project dictionary.

Note: If no data key is given or is None, the data must be a dictionary used to update the project data.

data (Any)
  data to be set or a dictionary to update the project data
dataKey (str (optional))
  key of the data to set (defaults to None)
setDirty (bool (optional))
  flag indicating to set the dirty flag if the data is different from the current one (defaults to True)

#### Project.setStatusMonitorAutoUpdate

setStatusMonitorAutoUpdate(auto)

Public method to enable the auto update function.

auto (bool)
  status of the auto update function

#### Project.setStatusMonitorInterval

setStatusMonitorInterval(interval)

Public method to se the interval of the VCS status monitor thread.

interval (int)
  status monitor interval in seconds

#### Project.setTranslationPattern

setTranslationPattern(pattern)

Public method to set the translation pattern.

pattern (str)
  translation pattern

#### Project.startFileSystemMonitoring

startFileSystemMonitoring()

Public method to (re)start monitoring the project file system.

#### Project.startStatusMonitor

startStatusMonitor()

Public method to start the VCS status monitor thread.

#### Project.startswithProjectPath

startswithProjectPath(path)

Public method to check, if a path starts with the project path.

path (str)
  path to be checked

Return:
  flag indicating that the path starts with the project path

Return Type:
  bool

#### Project.stopFileSystemMonitoring

stopFileSystemMonitoring()

Public method to stop monitoring the project file system.

#### Project.stopStatusMonitor

stopStatusMonitor()

Public method to stop the VCS status monitor thread.

#### Project.unregisterProjectType

unregisterProjectType(type_)

Public method to unregister a project type.

type_ (str)
  internal type designator to be unregistered

#### Project.updateFileTypes

updateFileTypes()

Public method to update the filetype associations with new default values.

#### Project.useSystemEol

useSystemEol()

Public method to check, if the project uses the system eol setting.

Return:
  flag indicating the usage of system eol

Return Type:
  bool

#### Project.vcsSoftwareAvailable

vcsSoftwareAvailable()

Public method to check, if some supported VCS software is available to the IDE.

Return:
  flag indicating availability of VCS software

Return Type:
  bool

#### Project.writeTasks

writeTasks()

Public method to write the tasks data to a JSON file (.etj).

Up