geany  1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
  Fossies Dox: geany-1.38.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

tm_workspace.h File Reference

The TMWorkspace structure is meant to be used as a singleton to store application wide tag information. More...

#include <glib.h>
#include "tm_tag.h"
Include dependency graph for tm_workspace.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TMWorkspace
 The Tag Manager Workspace. More...
 

Typedefs

typedef struct TMWorkspace TMWorkspace
 The Tag Manager Workspace. More...
 

Functions

void tm_workspace_add_source_file (TMSourceFile *source_file)
 Adds a source file to the workspace, parses it and updates the workspace tags. More...
 
void tm_workspace_remove_source_file (TMSourceFile *source_file)
 Removes a source file from the workspace if it exists. More...
 
void tm_workspace_add_source_files (GPtrArray *source_files)
 Adds multiple source files to the workspace and updates the workspace tag arrays. More...
 
void tm_workspace_remove_source_files (GPtrArray *source_files)
 Removes multiple source files from the workspace and updates the workspace tag arrays. More...
 

Detailed Description

The TMWorkspace structure is meant to be used as a singleton to store application wide tag information.

The workspace is intended to contain a list of global tags and a set of individual source files.

Definition in file tm_workspace.h.

Typedef Documentation

◆ TMWorkspace

typedef struct TMWorkspace TMWorkspace

The Tag Manager Workspace.

This is a singleton object containing a list of individual source files. There is also a global tag list which can be loaded or created. This contains global tags gleaned from /usr/include, etc. and should be used for autocompletion, calltips, etc.

Function Documentation

◆ tm_workspace_add_source_file()

void tm_workspace_add_source_file ( TMSourceFile source_file)

Adds a source file to the workspace, parses it and updates the workspace tags.

Parameters
source_fileThe source file to add to the workspace.

Definition at line 181 of file tm_workspace.c.

References NULL, TMWorkspace::source_files, theWorkspace, and update_source_file().

◆ tm_workspace_add_source_files()

void tm_workspace_add_source_files ( GPtrArray *  source_files)

Adds multiple source files to the workspace and updates the workspace tag arrays.

This is more efficient than calling tm_workspace_add_source_file() and tm_workspace_update_source_file() separately for each of the files.

Parameters
source_files (element-type: TMSourceFile) The source files to be added to the workspace.

Definition at line 292 of file tm_workspace.c.

References NULL, tm_workspace_add_source_file_noupdate(), tm_workspace_update(), and update_source_file().

◆ tm_workspace_remove_source_file()

void tm_workspace_remove_source_file ( TMSourceFile source_file)

Removes a source file from the workspace if it exists.

This function also removes the tags belonging to this file from the workspace. To completely free the TMSourceFile pointer call tm_source_file_free() on it.

Parameters
source_filePointer to the source file to be removed.

Definition at line 223 of file tm_workspace.c.

References NULL, TMWorkspace::source_files, TMWorkspace::tags_array, theWorkspace, tm_tags_remove_file_tags(), and TMWorkspace::typename_array.

Referenced by document_load_config(), handle_save_as(), and remove_page().

◆ tm_workspace_remove_source_files()

void tm_workspace_remove_source_files ( GPtrArray *  source_files)

Removes multiple source files from the workspace and updates the workspace tag arrays.

This is more efficient than calling tm_workspace_remove_source_file() separately for each of the files. To completely free the TMSourceFile pointers call tm_source_file_free() on each of them.

Parameters
source_files (element-type: TMSourceFile) The source files to be removed from the workspace.

Definition at line 317 of file tm_workspace.c.

References NULL, TMWorkspace::source_files, theWorkspace, and tm_workspace_update().