~cairo-dock-team/ubuntu/oneiric/cairo-dock/2.3.0-3

« back to all changes in this revision

Viewing changes to src/cairo-dock-launcher-factory.h

  • Committer: Bazaar Package Importer
  • Author(s): Matthieu Baerts (matttbe)
  • Date: 2010-08-09 23:26:12 UTC
  • mto: This revision was merged to the branch mainline in revision 13.
  • Revision ID: james.westby@ubuntu.com-20100809232612-pocdxliaxjdetm37
Tags: upstream-2.2.0~0beta4
ImportĀ upstreamĀ versionĀ 2.2.0~0beta4

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
* This file is a part of the Cairo-Dock project
3
 
*
4
 
* Copyright : (C) see the 'copyright' file.
5
 
* E-mail    : see the 'copyright' file.
6
 
*
7
 
* This program is free software; you can redistribute it and/or
8
 
* modify it under the terms of the GNU General Public License
9
 
* as published by the Free Software Foundation; either version 3
10
 
* of the License, or (at your option) any later version.
11
 
*
12
 
* This program is distributed in the hope that it will be useful,
13
 
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
* GNU General Public License for more details.
16
 
* You should have received a copy of the GNU General Public License
17
 
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 
*/
19
 
 
20
 
 
21
 
#ifndef __CAIRO_DOCK_LAUNCHER_FACTORY__
22
 
#define  __CAIRO_DOCK_LAUNCHER_FACTORY__
23
 
 
24
 
#include <glib.h>
25
 
 
26
 
#include "cairo-dock-struct.h"
27
 
G_BEGIN_DECLS
28
 
 
29
 
/**
30
 
*@file cairo-dock-launcher-factory.h This class handles the creation and reload of launcher icons, from the desktop files contained inside the 'launchers' folder. The files holding the information are common desktop files, with additionnal keys added by the dock on the launcher creation.
31
 
*/
32
 
 
33
 
/** Search the path of an icon into the defined icons themes. It also handles the '~' caracter in paths.
34
 
 * @param cFileName name of the icon file.
35
 
 * @return the complete path of the icon, or NULL if not found.
36
 
 */
37
 
gchar *cairo_dock_search_icon_s_path (const gchar *cFileName);
38
 
 
39
 
gboolean cairo_dock_remove_version_from_string (gchar *cString);
40
 
 
41
 
 
42
 
/** Set the class of a launcher. You can safely free the paramater 'cStartupWMClass' after calling this function. This function is tobe called on a launcher well defined (all other parameters should be already filled).
43
 
 * @param icon a launcher.
44
 
 * @param cStartupWMClass the class of the launcher defined in its .desktop file, or NULL. You can't expect the resulting class to be the one you provide, because this function makes a lot of guesses.
45
 
 */
46
 
void cairo_dock_set_launcher_class (Icon *icon, const gchar *cStartupWMClass);
47
 
 
48
 
 
49
 
/** Read a desktop file and fetch all its data into an Icon.
50
 
 * @param cDesktopFileName name or path of a desktop file. If it's a simple name, it will be taken in the "launchers" folder of the current theme.
51
 
 * @param icon the Icon to fill.
52
 
*/
53
 
void cairo_dock_load_icon_info_from_desktop_file (const gchar *cDesktopFileName, Icon *icon);
54
 
 
55
 
/** Create an Icon from a given desktop file, and fill its buffers. The resulting icon can directly be used inside a container. Class inhibating is handled.
56
 
 * @param cDesktopFileName name of the desktop file, present in the "launchers" folder of the current theme.
57
 
 * @param pSourceContext a drawing context, not altered.
58
 
 * @return the newly created icon.
59
 
*/
60
 
Icon * cairo_dock_create_icon_from_desktop_file (const gchar *cDesktopFileName, cairo_t *pSourceContext);
61
 
 
62
 
/** Reload an Icon from a given desktop file, and fill its buffers. It doesn't handle the side-effects like modifying the class, the sub-dock's view, the container, etc.
63
 
 * @param cDesktopFileName nameof the desktop file, taken in the "launchers" folder of the current theme.
64
 
 * @param pSourceContext a drawing context, not altered.
65
 
 * @param icon the Icon to reload.
66
 
*/
67
 
void cairo_dock_reload_icon_from_desktop_file (const gchar *cDesktopFileName, cairo_t *pSourceContext, Icon *icon);
68
 
 
69
 
 
70
 
/** Reload completely a launcher. It handles all the side-effects like modifying the class, the sub-dock's view, the container, etc.
71
 
 * @param icon the launcher Icon to reload.
72
 
*/
73
 
void cairo_dock_reload_launcher (Icon *icon);
74
 
 
75
 
 
76
 
G_END_DECLS
77
 
#endif