AssistantEric/Documentation/source/Plugin_Assistant_Eric.AssistantEric.APIsManager.html

Sun, 17 Jan 2010 19:22:18 +0000

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 17 Jan 2010 19:22:18 +0000
changeset 2
89cbc07f4bf0
child 19
7eb775bb326b
permissions
-rw-r--r--

First commit after porting to Python3.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html><head>
<title>Plugin_Assistant_Eric.AssistantEric.APIsManager</title>
<style>
body {
    background:white;
    margin: 0em 1em 10em 1em;
    color: black;
}

h1 { color: white; background: #4FA4FF; }
h2 { color: white; background: #4FA4FF; }
h3 { color: white; background: #00557F; }
h4 { color: white; background: #00557F; }
    
a { color: #AA5500; }

</style>
</head>
<body><a NAME="top" ID="top"></a>
<h1>Plugin_Assistant_Eric.AssistantEric.APIsManager</h1>
<p>
Module implementing the APIsManager.
</p>
<h3>Global Attributes</h3>
<table>
<tr><td>ApisNameProject</td></tr><tr><td>WorkerAborted</td></tr><tr><td>WorkerFinished</td></tr><tr><td>WorkerStarted</td></tr>
</table>
<h3>Classes</h3>
<table>
<tr>
<td><a href="#APIsManager">APIsManager</a></td>
<td>Class implementing the APIsManager class, which is the central store for API information used by autocompletion and calltips.</td>
</tr><tr>
<td><a href="#DbAPIs">DbAPIs</a></td>
<td>Class implementing an API storage entity.</td>
</tr><tr>
<td><a href="#DbAPIsWorker">DbAPIsWorker</a></td>
<td>Class implementing a worker thread to prepare the API database.</td>
</tr>
</table>
<h3>Functions</h3>
<table>
<tr><td>None</td></tr>
</table>
<hr /><hr />
<a NAME="APIsManager" ID="APIsManager"></a>
<h2>APIsManager</h2>
<p>
    Class implementing the APIsManager class, which is the central store for
    API information used by autocompletion and calltips.
</p>
<h3>Derived from</h3>
QObject
<h3>Class Attributes</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3>Methods</h3>
<table>
<tr>
<td><a href="#APIsManager.__init__">APIsManager</a></td>
<td>Constructor</td>
</tr><tr>
<td><a href="#APIsManager.deactivate">deactivate</a></td>
<td>Public method to perform actions upon deactivation.</td>
</tr><tr>
<td><a href="#APIsManager.getAPIs">getAPIs</a></td>
<td>Public method to get an apis object for autocompletion/calltips.</td>
</tr><tr>
<td><a href="#APIsManager.reloadAPIs">reloadAPIs</a></td>
<td>Public slot to reload the api information.</td>
</tr>
</table>
<a NAME="APIsManager.__init__" ID="APIsManager.__init__"></a>
<h4>APIsManager (Constructor)</h4>
<b>APIsManager</b>(<i>parent = None</i>)
<p>
        Constructor
</p><dl>
<dt><i>parent</i></dt>
<dd>
reference to the parent object (QObject)
</dd>
</dl><a NAME="APIsManager.deactivate" ID="APIsManager.deactivate"></a>
<h4>APIsManager.deactivate</h4>
<b>deactivate</b>(<i></i>)
<p>
        Public method to perform actions upon deactivation.
</p><a NAME="APIsManager.getAPIs" ID="APIsManager.getAPIs"></a>
<h4>APIsManager.getAPIs</h4>
<b>getAPIs</b>(<i>language</i>)
<p>
        Public method to get an apis object for autocompletion/calltips.
</p><p>
        This method creates and loads an APIs object dynamically upon request. 
        This saves memory for languages, that might not be needed at the moment.
</p><dl>
<dt><i>language</i></dt>
<dd>
the language of the requested api object (string)
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
the apis object (APIs)
</dd>
</dl><a NAME="APIsManager.reloadAPIs" ID="APIsManager.reloadAPIs"></a>
<h4>APIsManager.reloadAPIs</h4>
<b>reloadAPIs</b>(<i></i>)
<p>
        Public slot to reload the api information.
</p>
<div align="right"><a href="#top">Up</a></div>
<hr /><hr />
<a NAME="DbAPIs" ID="DbAPIs"></a>
<h2>DbAPIs</h2>
<p>
    Class implementing an API storage entity.
</p><h4>Signals</h4>
<dl>
<dt>apiPreparationCancelled()</dt>
<dd>
emitted after the API preparation has been
            cancelled
</dd><dt>apiPreparationFinished()</dt>
<dd>
emitted after the API preparation has finished
</dd><dt>apiPreparationStarted()</dt>
<dd>
emitted after the API preparation has started
</dd>
</dl>
<h3>Derived from</h3>
QObject
<h3>Class Attributes</h3>
<table>
<tr><td>DB_VERSION</td></tr><tr><td>ac_context_stmt</td></tr><tr><td>ac_stmt</td></tr><tr><td>api_files_stmt</td></tr><tr><td>create_acWord_idx</td></tr><tr><td>create_api_stmt</td></tr><tr><td>create_context_idx</td></tr><tr><td>create_file_idx</td></tr><tr><td>create_file_stmt</td></tr><tr><td>create_fullContext_idx</td></tr><tr><td>create_mgmt_stmt</td></tr><tr><td>ct_context_stmt</td></tr><tr><td>ct_fullContext_stmt</td></tr><tr><td>ct_stmt</td></tr><tr><td>drop_acWord_idx</td></tr><tr><td>drop_api_stmt</td></tr><tr><td>drop_context_idx</td></tr><tr><td>drop_file_idx</td></tr><tr><td>drop_file_stmt</td></tr><tr><td>drop_fullContext_idx</td></tr><tr><td>drop_mgmt_stmt</td></tr><tr><td>format_select_stmt</td></tr><tr><td>mgmt_insert_stmt</td></tr>
</table>
<h3>Methods</h3>
<table>
<tr>
<td><a href="#DbAPIs.__init__">DbAPIs</a></td>
<td>Constructor</td>
</tr><tr>
<td><a href="#DbAPIs.__createApiDB">__createApiDB</a></td>
<td>Private method to create an API database.</td>
</tr><tr>
<td><a href="#DbAPIs.__enoughCommas">__enoughCommas</a></td>
<td>Private method to determine, if the given string contains enough commas.</td>
</tr><tr>
<td><a href="#DbAPIs.__initAsLanguage">__initAsLanguage</a></td>
<td>Private method to initialize as a language API object.</td>
</tr><tr>
<td><a href="#DbAPIs.__initAsProject">__initAsProject</a></td>
<td>Private method to initialize as a project API object.</td>
</tr><tr>
<td><a href="#DbAPIs.__isPrepared">__isPrepared</a></td>
<td>Private method to check, if the database has been prepared.</td>
</tr><tr>
<td><a href="#DbAPIs.__openAPIs">__openAPIs</a></td>
<td>Private method to open the API database.</td>
</tr><tr>
<td><a href="#DbAPIs.__openApiDb">__openApiDb</a></td>
<td>Private method to open the API database.</td>
</tr><tr>
<td><a href="#DbAPIs.__processQueue">__processQueue</a></td>
<td>Private slot to process the queue of files to load.</td>
</tr><tr>
<td><a href="#DbAPIs.__projectClosed">__projectClosed</a></td>
<td>Private slot to perform actions after a project has been closed.</td>
</tr><tr>
<td><a href="#DbAPIs.__projectOpened">__projectOpened</a></td>
<td>Private slot to perform actions after a project has been opened.</td>
</tr><tr>
<td><a href="#DbAPIs._apiDbName">_apiDbName</a></td>
<td>Protected method to determine the name of the database file.</td>
</tr><tr>
<td><a href="#DbAPIs.autoCompletionWordSeparators">autoCompletionWordSeparators</a></td>
<td>Private method to get the word separator characters.</td>
</tr><tr>
<td><a href="#DbAPIs.close">close</a></td>
<td>Public method to close the database.</td>
</tr><tr>
<td><a href="#DbAPIs.editorSaved">editorSaved</a></td>
<td>Public slot to handle the editorSaved signal.</td>
</tr><tr>
<td><a href="#DbAPIs.event">event</a></td>
<td>Protected method to handle events from the worker thread.</td>
</tr><tr>
<td><a href="#DbAPIs.getApiFiles">getApiFiles</a></td>
<td>Public method to get a list of API files loaded into the database.</td>
</tr><tr>
<td><a href="#DbAPIs.getCalltips">getCalltips</a></td>
<td>Public method to determine the calltips.</td>
</tr><tr>
<td><a href="#DbAPIs.getCompletions">getCompletions</a></td>
<td>Public method to determine the possible completions.</td>
</tr><tr>
<td><a href="#DbAPIs.getLexer">getLexer</a></td>
<td>Public method to return a reference to our lexer object.</td>
</tr><tr>
<td><a href="#DbAPIs.prepareAPIs">prepareAPIs</a></td>
<td>Public method to prepare the APIs if neccessary.</td>
</tr>
</table>
<a NAME="DbAPIs.__init__" ID="DbAPIs.__init__"></a>
<h4>DbAPIs (Constructor)</h4>
<b>DbAPIs</b>(<i>language, parent = None</i>)
<p>
        Constructor
</p><dl>
<dt><i>language</i></dt>
<dd>
language of the APIs object (string)
</dd><dt><i>parent</i></dt>
<dd>
reference to the parent object (QObject)
</dd>
</dl><a NAME="DbAPIs.__createApiDB" ID="DbAPIs.__createApiDB"></a>
<h4>DbAPIs.__createApiDB</h4>
<b>__createApiDB</b>(<i></i>)
<p>
        Private method to create an API database.
</p><a NAME="DbAPIs.__enoughCommas" ID="DbAPIs.__enoughCommas"></a>
<h4>DbAPIs.__enoughCommas</h4>
<b>__enoughCommas</b>(<i>s, commas</i>)
<p>
        Private method to determine, if the given string contains enough commas.
</p><dl>
<dt><i>s</i></dt>
<dd>
string to check (string)
</dd><dt><i>commas</i></dt>
<dd>
number of commas to check for (integer)
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
flag indicating, that there are enough commas (boolean)
</dd>
</dl><a NAME="DbAPIs.__initAsLanguage" ID="DbAPIs.__initAsLanguage"></a>
<h4>DbAPIs.__initAsLanguage</h4>
<b>__initAsLanguage</b>(<i></i>)
<p>
        Private method to initialize as a language API object.
</p><a NAME="DbAPIs.__initAsProject" ID="DbAPIs.__initAsProject"></a>
<h4>DbAPIs.__initAsProject</h4>
<b>__initAsProject</b>(<i></i>)
<p>
        Private method to initialize as a project API object.
</p><a NAME="DbAPIs.__isPrepared" ID="DbAPIs.__isPrepared"></a>
<h4>DbAPIs.__isPrepared</h4>
<b>__isPrepared</b>(<i></i>)
<p>
        Private method to check, if the database has been prepared.
</p><dl>
<dt>Returns:</dt>
<dd>
flag indicating the prepared status (boolean)
</dd>
</dl><a NAME="DbAPIs.__openAPIs" ID="DbAPIs.__openAPIs"></a>
<h4>DbAPIs.__openAPIs</h4>
<b>__openAPIs</b>(<i></i>)
<p>
        Private method to open the API database.
</p><a NAME="DbAPIs.__openApiDb" ID="DbAPIs.__openApiDb"></a>
<h4>DbAPIs.__openApiDb</h4>
<b>__openApiDb</b>(<i></i>)
<p>
        Private method to open the API database.
</p><a NAME="DbAPIs.__processQueue" ID="DbAPIs.__processQueue"></a>
<h4>DbAPIs.__processQueue</h4>
<b>__processQueue</b>(<i></i>)
<p>
        Private slot to process the queue of files to load.
</p><a NAME="DbAPIs.__projectClosed" ID="DbAPIs.__projectClosed"></a>
<h4>DbAPIs.__projectClosed</h4>
<b>__projectClosed</b>(<i></i>)
<p>
        Private slot to perform actions after a project has been closed.
</p><a NAME="DbAPIs.__projectOpened" ID="DbAPIs.__projectOpened"></a>
<h4>DbAPIs.__projectOpened</h4>
<b>__projectOpened</b>(<i></i>)
<p>
        Private slot to perform actions after a project has been opened.
</p><a NAME="DbAPIs._apiDbName" ID="DbAPIs._apiDbName"></a>
<h4>DbAPIs._apiDbName</h4>
<b>_apiDbName</b>(<i></i>)
<p>
        Protected method to determine the name of the database file.
</p><dl>
<dt>Returns:</dt>
<dd>
name of the database file (string)
</dd>
</dl><a NAME="DbAPIs.autoCompletionWordSeparators" ID="DbAPIs.autoCompletionWordSeparators"></a>
<h4>DbAPIs.autoCompletionWordSeparators</h4>
<b>autoCompletionWordSeparators</b>(<i></i>)
<p>
        Private method to get the word separator characters.
</p><dl>
<dt>Returns:</dt>
<dd>
word separator characters (list of strings)
</dd>
</dl><a NAME="DbAPIs.close" ID="DbAPIs.close"></a>
<h4>DbAPIs.close</h4>
<b>close</b>(<i></i>)
<p>
        Public method to close the database.
</p><a NAME="DbAPIs.editorSaved" ID="DbAPIs.editorSaved"></a>
<h4>DbAPIs.editorSaved</h4>
<b>editorSaved</b>(<i>filename</i>)
<p>
        Public slot to handle the editorSaved signal.
</p><dl>
<dt><i>filename</i></dt>
<dd>
name of the file that was saved (string)
</dd>
</dl><a NAME="DbAPIs.event" ID="DbAPIs.event"></a>
<h4>DbAPIs.event</h4>
<b>event</b>(<i>evt</i>)
<p>
        Protected method to handle events from the worker thread.
</p><dl>
<dt><i>evt</i></dt>
<dd>
reference to the event object (QEvent)
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
flag indicating, if the event was handled (boolean)
</dd>
</dl><a NAME="DbAPIs.getApiFiles" ID="DbAPIs.getApiFiles"></a>
<h4>DbAPIs.getApiFiles</h4>
<b>getApiFiles</b>(<i></i>)
<p>
        Public method to get a list of API files loaded into the database.
</p><dl>
<dt>Returns:</dt>
<dd>
list of API filenames (list of strings)
</dd>
</dl><a NAME="DbAPIs.getCalltips" ID="DbAPIs.getCalltips"></a>
<h4>DbAPIs.getCalltips</h4>
<b>getCalltips</b>(<i>acWord, commas, context = None, fullContext = None, showContext = True</i>)
<p>
        Public method to determine the calltips.
</p><dl>
<dt><i>acWord</i></dt>
<dd>
function to get calltips for (string)
</dd><dt><i>commas</i></dt>
<dd>
minimum number of commas contained in the calltip (integer)
</dd><dt><i>context</i></dt>
<dd>
string giving the context (e.g. classname) (string)
</dd><dt><i>fullContext</i></dt>
<dd>
string giving the full context (string)
</dd><dt><i>showContext</i></dt>
<dd>
flag indicating to show the calltip context (boolean)
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
list of calltips (list of string)
</dd>
</dl><a NAME="DbAPIs.getCompletions" ID="DbAPIs.getCompletions"></a>
<h4>DbAPIs.getCompletions</h4>
<b>getCompletions</b>(<i>start = None, context = None</i>)
<p>
        Public method to determine the possible completions.
</p><dl>
<dt><i>start=</i></dt>
<dd>
string giving the start of the word to be
            completed (string)
</dd><dt><i>context=</i></dt>
<dd>
string giving the context (e.g. classname)
            to be completed (string)
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
list of dictionaries with possible completions (key 'completion'
            contains the completion (string), key 'context'
            contains the context (string) and key 'pictureId'
            contains the ID of the icon to be shown (string))
</dd>
</dl><a NAME="DbAPIs.getLexer" ID="DbAPIs.getLexer"></a>
<h4>DbAPIs.getLexer</h4>
<b>getLexer</b>(<i></i>)
<p>
        Public method to return a reference to our lexer object.
</p><dl>
<dt>Returns:</dt>
<dd>
reference to the lexer object (QScintilla.Lexers.Lexer)
</dd>
</dl><a NAME="DbAPIs.prepareAPIs" ID="DbAPIs.prepareAPIs"></a>
<h4>DbAPIs.prepareAPIs</h4>
<b>prepareAPIs</b>(<i>rawList = None</i>)
<p>
        Public method to prepare the APIs if neccessary.
</p><dl>
<dt><i>rawList=</i></dt>
<dd>
list of raw API files (list of strings)
</dd>
</dl>
<div align="right"><a href="#top">Up</a></div>
<hr /><hr />
<a NAME="DbAPIsWorker" ID="DbAPIsWorker"></a>
<h2>DbAPIsWorker</h2>
<p>
    Class implementing a worker thread to prepare the API database.
</p>
<h3>Derived from</h3>
QThread
<h3>Class Attributes</h3>
<table>
<tr><td>file_delete_id_stmt</td></tr><tr><td>file_id_stmt</td></tr><tr><td>file_loaded_stmt</td></tr><tr><td>populate_api_stmt</td></tr><tr><td>populate_del_api_stmt</td></tr><tr><td>populate_file_stmt</td></tr><tr><td>update_file_stmt</td></tr>
</table>
<h3>Methods</h3>
<table>
<tr>
<td><a href="#DbAPIsWorker.__init__">DbAPIsWorker</a></td>
<td>Constructor</td>
</tr><tr>
<td><a href="#DbAPIsWorker.__autoCompletionWordSeparators">__autoCompletionWordSeparators</a></td>
<td>Private method to get the word separator characters for a language.</td>
</tr><tr>
<td><a href="#DbAPIsWorker.__deleteApiFile">__deleteApiFile</a></td>
<td>Private method to delete all references to an api file.</td>
</tr><tr>
<td><a href="#DbAPIsWorker.__loadApiFile">__loadApiFile</a></td>
<td>Private method to read a raw API file into the database.</td>
</tr><tr>
<td><a href="#DbAPIsWorker.__loadApiFileIfNewer">__loadApiFileIfNewer</a></td>
<td>Private method to load an API file, if it is newer than the one read into the database.</td>
</tr><tr>
<td><a href="#DbAPIsWorker.__storeApis">__storeApis</a></td>
<td>Private method to put the API entries into the database.</td>
</tr><tr>
<td><a href="#DbAPIsWorker.abort">abort</a></td>
<td>Public method to ask the thread to stop.</td>
</tr><tr>
<td><a href="#DbAPIsWorker.run">run</a></td>
<td>Public method to perform the threads work.</td>
</tr>
</table>
<a NAME="DbAPIsWorker.__init__" ID="DbAPIsWorker.__init__"></a>
<h4>DbAPIsWorker (Constructor)</h4>
<b>DbAPIsWorker</b>(<i>proxy, language, apiFiles, projectPath = ""</i>)
<p>
        Constructor
</p><dl>
<dt><i>proxy</i></dt>
<dd>
reference to the object that is proxied (DbAPIs)
</dd><dt><i>language</i></dt>
<dd>
language of the APIs object (string)
</dd><dt><i>apiFiles</i></dt>
<dd>
list of API files to process (list of strings)
</dd><dt><i>projectPath</i></dt>
<dd>
path of the project. Only needed, if the APIs
            are extracted out of the sources of a project. (string)
</dd>
</dl><a NAME="DbAPIsWorker.__autoCompletionWordSeparators" ID="DbAPIsWorker.__autoCompletionWordSeparators"></a>
<h4>DbAPIsWorker.__autoCompletionWordSeparators</h4>
<b>__autoCompletionWordSeparators</b>(<i>language</i>)
<p>
        Private method to get the word separator characters for a language.
</p><dl>
<dt><i>language</i></dt>
<dd>
language of the APIs object (string)
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
word separator characters (list of strings)
</dd>
</dl><a NAME="DbAPIsWorker.__deleteApiFile" ID="DbAPIsWorker.__deleteApiFile"></a>
<h4>DbAPIsWorker.__deleteApiFile</h4>
<b>__deleteApiFile</b>(<i>apiFile</i>)
<p>
        Private method to delete all references to an api file.
</p><dl>
<dt><i>apiFile</i></dt>
<dd>
filename of the raw API file (string)
</dd>
</dl><a NAME="DbAPIsWorker.__loadApiFile" ID="DbAPIsWorker.__loadApiFile"></a>
<h4>DbAPIsWorker.__loadApiFile</h4>
<b>__loadApiFile</b>(<i>apiFile</i>)
<p>
        Private method to read a raw API file into the database.
</p><dl>
<dt><i>apiFile</i></dt>
<dd>
filename of the raw API file (string)
</dd>
</dl><a NAME="DbAPIsWorker.__loadApiFileIfNewer" ID="DbAPIsWorker.__loadApiFileIfNewer"></a>
<h4>DbAPIsWorker.__loadApiFileIfNewer</h4>
<b>__loadApiFileIfNewer</b>(<i>apiFile</i>)
<p>
        Private method to load an API file, if it is newer than the one read
        into the database.
</p><dl>
<dt><i>apiFile</i></dt>
<dd>
filename of the raw API file (string)
</dd>
</dl><a NAME="DbAPIsWorker.__storeApis" ID="DbAPIsWorker.__storeApis"></a>
<h4>DbAPIsWorker.__storeApis</h4>
<b>__storeApis</b>(<i>apis, apiFile, language</i>)
<p>
        Private method to put the API entries into the database.
</p><dl>
<dt><i>apis</i></dt>
<dd>
list of api entries (list of strings)
</dd><dt><i>apiFile</i></dt>
<dd>
filename of the file read to get the APIs (string)
</dd><dt><i>language</i></dt>
<dd>
programming language of the file of the APIs (string)
</dd>
</dl><a NAME="DbAPIsWorker.abort" ID="DbAPIsWorker.abort"></a>
<h4>DbAPIsWorker.abort</h4>
<b>abort</b>(<i></i>)
<p>
        Public method to ask the thread to stop.
</p><a NAME="DbAPIsWorker.run" ID="DbAPIsWorker.run"></a>
<h4>DbAPIsWorker.run</h4>
<b>run</b>(<i></i>)
<p>
        Public method to perform the threads work.
</p>
<div align="right"><a href="#top">Up</a></div>
<hr />
</body></html>

eric ide

mercurial