Aller au code source de ce fichier.
Structures de données | |
struct | CairoDockMeasure |
Macros | |
#define | cairo_dock_set_icon_surface(pIconContext, pSurface) cairo_dock_set_icon_surface_full (pIconContext, pSurface, 1, 1, NULL, NULL) |
#define | cairo_dock_remove_quick_info(pIcon) cairo_dock_set_quick_info (NULL, NULL, pIcon, 1) |
#define | CD_APPLET_H |
#define | CD_APPLET_PRE_INIT_BEGIN(cName, iMajorVersion, iMinorVersion, iMicroVersion, iAppletCategory) |
#define | CD_APPLET_PRE_INIT_END |
#define | CD_APPLET_DEFINITION(cName, iMajorVersion, iMinorVersion, iMicroVersion, iAppletCategory) |
#define | CD_APPLET_INIT_BEGIN(erreur) |
#define | CD_APPLET_INIT_END |
#define | CD_APPLET_STOP_BEGIN |
#define | CD_APPLET_STOP_END |
#define | CD_APPLET_RELOAD_BEGIN |
#define | CD_APPLET_RELOAD_END |
#define | CD_APPLET_MY_CONFIG_CHANGED (pKeyFile != NULL) |
#define | CD_APPLET_MY_CONTAINER_TYPE_CHANGED bContainerTypeChanged |
#define | CD_APPLET_MY_OLD_CONTAINER pOldContainer; |
#define | CD_APPLET_MY_CONF_FILE cConfFilePath |
#define | CD_APPLET_MY_KEY_FILE pKeyFile |
#define | CD_APPLET_GET_CONFIG_BEGIN |
#define | CD_APPLET_GET_CONFIG_END |
#define | CD_APPLET_CONFIG_H |
#define | CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT(cGroupName, cKeyName, bDefaultValue) cairo_dock_get_boolean_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, bDefaultValue, NULL, NULL) |
#define | CD_CONFIG_GET_BOOLEAN(cGroupName, cKeyName) CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT (cGroupName, cKeyName, TRUE) |
#define | CD_CONFIG_GET_INTEGER_WITH_DEFAULT(cGroupName, cKeyName, iDefaultValue) cairo_dock_get_integer_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, iDefaultValue, NULL, NULL) |
#define | CD_CONFIG_GET_INTEGER(cGroupName, cKeyName) CD_CONFIG_GET_INTEGER_WITH_DEFAULT (cGroupName, cKeyName, 0) |
#define | CD_CONFIG_GET_DOUBLE_WITH_DEFAULT(cGroupName, cKeyName, fDefaultValue) cairo_dock_get_double_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, 0., NULL, NULL) |
#define | CD_CONFIG_GET_DOUBLE(cGroupName, cKeyName) CD_CONFIG_GET_DOUBLE_WITH_DEFAULT (cGroupName, cKeyName, 0.) |
#define | CD_CONFIG_GET_STRING_WITH_DEFAULT(cGroupName, cKeyName, cDefaultValue) cairo_dock_get_string_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, cDefaultValue, NULL, NULL) |
#define | CD_CONFIG_GET_STRING(cGroupName, cKeyName) CD_CONFIG_GET_STRING_WITH_DEFAULT (cGroupName, cKeyName, NULL) |
#define | CD_CONFIG_GET_STRING_LIST_WITH_DEFAULT(cGroupName, cKeyName, length, cDefaultValues) cairo_dock_get_string_list_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, length, cDefaultValues, NULL, NULL) |
#define | CD_CONFIG_GET_STRING_LIST(cGroupName, cKeyName, length) CD_CONFIG_GET_STRING_LIST_WITH_DEFAULT(cGroupName, cKeyName, length, NULL) |
#define | CD_CONFIG_GET_ANIMATION_WITH_DEFAULT(cGroupName, cKeyName, iDefaultAnimation) cairo_dock_get_animation_type_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, iDefaultAnimation, NULL, NULL); |
#define | CD_CONFIG_GET_ANIMATION(cGroupName, cKeyName) CD_CONFIG_GET_ANIMATION_WITH_DEFAULT(cGroupName, cKeyName, CAIRO_DOCK_BOUNCE) |
#define | CD_CONFIG_GET_COLOR_WITH_DEFAULT(cGroupName, cKeyName, pColorBuffer, pDefaultColor) cairo_dock_get_double_list_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, pColorBuffer, 4, pDefaultColor, NULL, NULL); |
#define | CD_CONFIG_GET_COLOR(cGroupName, cKeyName, pColorBuffer) CD_CONFIG_GET_COLOR_WITH_DEFAULT(cGroupName, cKeyName, pColorBuffer, NULL) |
#define | CD_CONFIG_GET_COLOR_RVB_WITH_DEFAULT(cGroupName, cKeyName, pColorBuffer, pDefaultColor) cairo_dock_get_double_list_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, pColorBuffer, 3, pDefaultColor, NULL, NULL); |
#define | CD_CONFIG_GET_COLOR_RVB(cGroupName, cKeyName, pColorBuffer) CD_CONFIG_GET_COLOR_RVB_WITH_DEFAULT(cGroupName, cKeyName, pColorBuffer, NULL) |
#define | CD_CONFIG_GET_THEME_PATH(cGroupName, cKeyName, cThemesDirName, cDefaultThemeName) cairo_dock_manage_themes_for_applet (MY_APPLET_SHARE_DATA_DIR, cThemesDirName, CD_APPLET_MY_CONF_FILE, pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, cDefaultThemeName) |
#define | CD_APPLET_RESET_CONFIG_BEGIN |
#define | CD_APPLET_RESET_CONFIG_END |
#define | CD_APPLET_RESET_DATA_BEGIN |
#define | CD_APPLET_RESET_DATA_END |
#define | CD_APPLET_ABOUT(cMessage) |
#define | CD_APPLET_ABOUT_H void about (GtkMenuItem *menu_item, gpointer *data); |
#define | CD_APPLET_ON_CLICK action_on_click |
#define | CD_APPLET_REGISTER_FOR_CLICK_EVENT cairo_dock_register_notification (CAIRO_DOCK_CLICK_ICON, (CairoDockNotificationFunc) CD_APPLET_ON_CLICK, CAIRO_DOCK_RUN_FIRST); |
#define | CD_APPLET_UNREGISTER_FOR_CLICK_EVENT cairo_dock_remove_notification_func (CAIRO_DOCK_CLICK_ICON, (CairoDockNotificationFunc) CD_APPLET_ON_CLICK); |
#define | CD_APPLET_ON_CLICK_BEGIN |
#define | CD_APPLET_ON_CLICK_END |
#define | CD_APPLET_ON_CLICK_H gboolean CD_APPLET_ON_CLICK (gpointer *data); |
#define | CD_APPLET_ON_BUILD_MENU applet_on_build_menu |
#define | CD_APPLET_REGISTER_FOR_BUILD_MENU_EVENT cairo_dock_register_notification (CAIRO_DOCK_BUILD_MENU, (CairoDockNotificationFunc) CD_APPLET_ON_BUILD_MENU, CAIRO_DOCK_RUN_FIRST); |
#define | CD_APPLET_UNREGISTER_FOR_BUILD_MENU_EVENT cairo_dock_remove_notification_func (CAIRO_DOCK_BUILD_MENU, (CairoDockNotificationFunc) CD_APPLET_ON_BUILD_MENU); |
#define | CD_APPLET_ON_BUILD_MENU_BEGIN |
#define | CD_APPLET_ON_BUILD_MENU_END |
#define | CD_APPLET_ON_BUILD_MENU_H gboolean CD_APPLET_ON_BUILD_MENU (gpointer *data); |
#define | CD_APPLET_MY_MENU pAppletMenu |
#define | CD_APPLET_CLICKED_ICON pClickedIcon |
#define | CD_APPLET_CLICKED_CONTAINER pClickedContainer |
#define | CD_APPLET_SHIFT_CLICK (iButtonState & GDK_SHIFT_MASK) |
#define | CD_APPLET_CTRL_CLICK (iButtonState & GDK_CONTROL_MASK) |
#define | CD_APPLET_ALT_CLICK (iButtonState & GDK_MOD1_MASK) |
#define | CD_APPLET_ADD_SUB_MENU(cLabel, pSubMenu, pMenu) |
#define | CD_APPLET_CREATE_AND_ADD_SUB_MENU(cLabel, pMenu) cairo_dock_create_sub_menu (cLabel, pMenu); |
#define | CD_APPLET_ADD_IN_MENU_WITH_DATA(cLabel, pFunction, pMenu, pData) |
#define | CD_APPLET_ADD_IN_MENU(cLabel, pFunction, pMenu) CD_APPLET_ADD_IN_MENU_WITH_DATA(cLabel, pFunction, pMenu, NULL) |
#define | CD_APPLET_ADD_IN_MENU_WITH_STOCK(cLabel, gtkStock, pFunction, pMenu, pData) |
#define | CD_APPLET_ADD_SEPARATOR() |
#define | CD_APPLET_ADD_ABOUT_IN_MENU(pMenu) CD_APPLET_ADD_IN_MENU (_("About"), about, pMenu) |
#define | CD_APPLET_LAST_ITEM_IN_MENU pMenuItem |
#define | CD_APPLET_ON_MIDDLE_CLICK action_on_middle_click |
#define | CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT cairo_dock_register_notification (CAIRO_DOCK_MIDDLE_CLICK_ICON, (CairoDockNotificationFunc) CD_APPLET_ON_MIDDLE_CLICK, CAIRO_DOCK_RUN_FIRST); |
#define | CD_APPLET_UNREGISTER_FOR_MIDDLE_CLICK_EVENT cairo_dock_remove_notification_func (CAIRO_DOCK_MIDDLE_CLICK_ICON, (CairoDockNotificationFunc) CD_APPLET_ON_MIDDLE_CLICK); |
#define | CD_APPLET_ON_MIDDLE_CLICK_BEGIN |
#define | CD_APPLET_ON_MIDDLE_CLICK_END |
#define | CD_APPLET_ON_MIDDLE_CLICK_H gboolean CD_APPLET_ON_MIDDLE_CLICK (gpointer *data); |
#define | CD_APPLET_ON_DROP_DATA action_on_drop_data |
#define | CD_APPLET_REGISTER_FOR_DROP_DATA_EVENT cairo_dock_register_notification (CAIRO_DOCK_DROP_DATA, (CairoDockNotificationFunc) CD_APPLET_ON_DROP_DATA, CAIRO_DOCK_RUN_FIRST); |
#define | CD_APPLET_UNREGISTER_FOR_DROP_DATA_EVENT cairo_dock_remove_notification_func (CAIRO_DOCK_DROP_DATA, (CairoDockNotificationFunc) CD_APPLET_ON_DROP_DATA); |
#define | CD_APPLET_ON_DROP_DATA_BEGIN |
#define | CD_APPLET_RECEIVED_DATA cReceivedData |
#define | CD_APPLET_ON_DROP_DATA_END |
#define | CD_APPLET_ON_DROP_DATA_H gboolean CD_APPLET_ON_DROP_DATA (gpointer *data); |
#define | CD_APPLET_REDRAW_MY_ICON cairo_dock_redraw_my_icon (myIcon, myContainer); |
#define | CD_APPLET_SET_SURFACE_ON_MY_ICON(pSurface) |
#define | CD_APPLET_SET_SURFACE_ON_MY_ICON_WITH_ZOOM(pSurface, fScale) |
#define | CD_APPLET_SET_SURFACE_ON_MY_ICON_WITH_ALPHA(pSurface, fAlpha) |
#define | CD_APPLET_SET_SURFACE_ON_MY_ICON_WITH_BAR(pSurface, fValue) |
#define | CD_APPLET_SET_IMAGE_ON_MY_ICON(cImagePath) |
#define | CD_APPLET_SET_LOCAL_IMAGE_ON_MY_ICON(cImageName) |
#define | CD_APPLET_SET_USER_IMAGE_ON_MY_ICON(cUserImageName, cDefaultLocalImageName) |
#define | CD_APPLET_SET_ZOOMED_SURFACE_ON_MY_ICON(pSurface, fScale) |
#define | CD_APPLET_SET_NAME_FOR_MY_ICON(cIconName) cairo_dock_set_icon_name (myDrawContext, cIconName, myIcon, myContainer); |
#define | CD_APPLET_SET_QUICK_INFO_ON_MY_ICON(cQuickInfoFormat,...) cairo_dock_set_quick_info_full (myDrawContext, myIcon, myContainer, cQuickInfoFormat, ##__VA_ARGS__); |
#define | CD_APPLET_SET_QUICK_INFO_ON_MY_ICON_AND_REDRAW(cQuickInfoFormat,...) |
#define | CD_APPLET_SET_HOURS_MINUTES_AS_QUICK_INFO(iTimeInSeconds) cairo_dock_set_hours_minutes_as_quick_info (myDrawContext, myIcon, myContainer, iTimeInSeconds); |
#define | CD_APPLET_SET_MINUTES_SECONDES_AS_QUICK_INFO(iTimeInSeconds) cairo_dock_set_minutes_secondes_as_quick_info (myDrawContext, myIcon, myContainer, iTimeInSeconds); |
#define | CD_APPLET_ANIMATE_MY_ICON(iAnimationType, iAnimationLength) cairo_dock_animate_icon (myIcon, myContainer, iAnimationType, iAnimationLength); |
#define | CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET(cImagePath) cairo_dock_create_surface_for_icon (cImagePath, myDrawContext, myIcon->fWidth * (myDock ? (1 + g_fAmplitude) / myDock->fRatio : 1), myIcon->fHeight* (myDock ? (1 + g_fAmplitude) / myDock->fRatio : 1)); |
#define | CD_APPLET_SET_DESKLET_RENDERER_WITH_DATA(cRendererName, pConfig) |
#define | CD_APPLET_SET_DESKLET_RENDERER(cRendererName) CD_APPLET_SET_DESKLET_RENDERER_WITH_DATA (cRendererName, NULL) |
#define | CD_APPLET_INCLUDE_MY_VARS |
#define | D_(message) dgettext (MY_APPLET_GETTEXT_DOMAIN, message) |
#define | _D D_ |
#define | CD_APPLET_DEFINE_TIMER(_get_data, _read_data, _load_data) |
#define | CD_APPLET_START_TIMER cairo_dock_launch_measure (); |
#define | CD_APPLET_STOP_TIMER |
#define | CD_APPLET_TIMER_IS_RUNNING (myData.iSidTimer != 0) |
Fonctions | |
gchar * | cairo_dock_check_conf_file_exists (gchar *cUserDataDirName, gchar *cShareDataDir, gchar *cConfFileName) |
void | cairo_dock_free_minimal_config (CairoDockMinimalAppletConfig *pMinimalConfig) |
void | cairo_dock_set_icon_surface_full (cairo_t *pIconContext, cairo_surface_t *pSurface, double fScale, double fAlpha, Icon *pIcon, CairoDockContainer *pContainer) |
void | cairo_dock_draw_bar_on_icon (cairo_t *pIconContext, double fValue, Icon *pIcon, CairoDockContainer *pContainer) |
void | cairo_dock_add_reflection_to_icon (cairo_t *pIconContext, Icon *pIcon, CairoDockContainer *pContainer) |
void | cairo_dock_set_icon_surface_with_reflect (cairo_t *pIconContext, cairo_surface_t *pSurface, Icon *pIcon, CairoDockContainer *pContainer) |
void | cairo_dock_set_image_on_icon (cairo_t *pIconContext, gchar *cImagePath, Icon *pIcon, CairoDockContainer *pContainer) |
void | cairo_dock_set_icon_name (cairo_t *pSourceContext, const gchar *cIconName, Icon *pIcon, CairoDockContainer *pContainer) |
void | cairo_dock_set_quick_info (cairo_t *pSourceContext, const gchar *cQuickInfo, Icon *pIcon, double fMaxScale) |
void | cairo_dock_set_quick_info_full (cairo_t *pSourceContext, Icon *pIcon, CairoDockContainer *pContainer, const gchar *cQuickInfoFormat,...) |
void | cairo_dock_set_hours_minutes_as_quick_info (cairo_t *pSourceContext, Icon *pIcon, CairoDockContainer *pContainer, int iTimeInSeconds) |
void | cairo_dock_set_minutes_secondes_as_quick_info (cairo_t *pSourceContext, Icon *pIcon, CairoDockContainer *pContainer, int iTimeInSeconds) |
void | cairo_dock_animate_icon (Icon *pIcon, CairoDock *pDock, CairoDockAnimationType iAnimationType, int iNbRounds) |
gchar * | cairo_dock_manage_themes_for_applet (gchar *cAppletShareDataDir, gchar *cThemeDirName, gchar *cAppletConfFilePath, GKeyFile *pKeyFile, gchar *cGroupName, gchar *cKeyName, gboolean *bFlushConfFileNeeded, gchar *cDefaultThemeName) |
GtkWidget * | cairo_dock_create_sub_menu (gchar *cLabel, GtkWidget *pMenu) |
void | cairo_dock_launch_measure (CairoDockMeasure *pMeasureTimer) |
CairoDockMeasure * | cairo_dock_new_measure_timer (int iCheckInterval, GVoidFunc acquisition, GVoidFunc read, GVoidFunc update) |
void | cairo_dock_stop_measure_timer (CairoDockMeasure *pMeasureTimer) |
void | cairo_dock_free_measure_timer (CairoDockMeasure *pMeasureTimer) |
gboolean | cairo_dock_measure_is_active (CairoDockMeasure *pMeasureTimer) |
void | cairo_dock_change_measure_frequency (CairoDockMeasure *pMeasureTimer, int iNewCheckInterval) |
Pour un exemple tres simple, consultez les sources de l'applet 'logout'.
#define cairo_dock_set_icon_surface | ( | pIconContext, | |||
pSurface | ) | cairo_dock_set_icon_surface_full (pIconContext, pSurface, 1, 1, NULL, NULL) |
Applique une surface sur un contexte, en effacant tout au prealable.
pIconContext | le contexte du dessin; est modifie par la fonction. | |
pSurface | la surface a appliquer. |
#define cairo_dock_remove_quick_info | ( | pIcon | ) | cairo_dock_set_quick_info (NULL, NULL, pIcon, 1) |
Efface l'info-rapide d'une icone.
pIcon | l'icone. |
#define CD_APPLET_H |
Valeur :
CairoDockVisitCard *pre_init (void); \ void init (GKeyFile *pKeyFile, Icon *pIcon, CairoDockContainer *pContainer, gchar *cConfFilePath, GError **erreur); \ void stop (void); \ gboolean reload (GKeyFile *pKeyFile, gchar *cConfFilePath, CairoDockContainer *pNewContainer);
#define CD_APPLET_PRE_INIT_BEGIN | ( | cName, | |||
iMajorVersion, | |||||
iMinorVersion, | |||||
iMicroVersion, | |||||
iAppletCategory | ) |
Valeur :
Icon *myIcon = NULL; \ CairoDock *myDock = NULL; \ CairoDockDesklet *myDesklet = NULL; \ CairoDockContainer *myContainer = NULL; \ cairo_t *myDrawContext = NULL; \ AppletConfig myConfig; \ AppletData myData; \ CairoDockVisitCard *pre_init (void) \ { \ CairoDockVisitCard *pVisitCard = g_new0 (CairoDockVisitCard, 1); \ pVisitCard->cModuleName = g_strdup (cName); \ pVisitCard->cReadmeFilePath = g_strdup_printf ("%s/%s", MY_APPLET_SHARE_DATA_DIR, MY_APPLET_README_FILE); \ pVisitCard->iMajorVersionNeeded = iMajorVersion; \ pVisitCard->iMinorVersionNeeded = iMinorVersion; \ pVisitCard->iMicroVersionNeeded = iMicroVersion; \ pVisitCard->cPreviewFilePath = g_strdup_printf ("%s/%s", MY_APPLET_SHARE_DATA_DIR, MY_APPLET_PREVIEW_FILE); \ pVisitCard->cGettextDomain = g_strdup (MY_APPLET_GETTEXT_DOMAIN); \ pVisitCard->cDockVersionOnCompilation = g_strdup (MY_APPLET_DOCK_VERSION); \ pVisitCard->cUserDataDir = g_strdup (MY_APPLET_USER_DATA_DIR); \ pVisitCard->cShareDataDir = g_strdup (MY_APPLET_SHARE_DATA_DIR); \ pVisitCard->cConfFileName = (MY_APPLET_CONF_FILE != NULL && strcmp (MY_APPLET_CONF_FILE, "none") != 0 ? g_strdup (MY_APPLET_CONF_FILE) : NULL); \ pVisitCard->cModuleVersion = g_strdup (MY_APPLET_VERSION);\ pVisitCard->iCategory =iAppletCategory ;\ pVisitCard->cIconFilePath = g_strdup_printf ("%s/%s", MY_APPLET_SHARE_DATA_DIR, MY_APPLET_ICON_FILE);
cName | nom de sous lequel l'applet sera enregistree par Cairo-Dock. | |
iMajorVersion | version majeure du dock necessaire au bon fonctionnement de l'applet. | |
iMinorVersion | version mineure du dock necessaire au bon fonctionnement de l'applet. | |
iMicroVersion | version micro du dock necessaire au bon fonctionnement de l'applet. | |
iAppletCategory | Catégorie de l'applet (CAIRO_DOCK_CATEGORY_ACCESSORY, CAIRO_DOCK_CATEGORY_DESKTOP, CAIRO_DOCK_CATEGORY_CONTROLER) |
#define CD_APPLET_PRE_INIT_END |
Valeur :
return pVisitCard; \
}
#define CD_APPLET_DEFINITION | ( | cName, | |||
iMajorVersion, | |||||
iMinorVersion, | |||||
iMicroVersion, | |||||
iAppletCategory | ) |
Valeur :
CD_APPLET_PRE_INIT_BEGIN (cName, iMajorVersion, iMinorVersion, iMicroVersion, iAppletCategory) \ CD_APPLET_PRE_INIT_END
#define CD_APPLET_INIT_BEGIN | ( | erreur | ) |
Valeur :
void init (GKeyFile *pKeyFile, Icon *pIcon, CairoDockContainer *pContainer, gchar *cConfFilePath, GError **erreur) \ { \ g_return_if_fail (pContainer != NULL && pIcon != NULL); \ myIcon = pIcon; \ myContainer = pContainer; \ myDock = (CAIRO_DOCK_IS_DOCK (pContainer) ? CAIRO_DOCK_DOCK (pContainer) : NULL); \ myDesklet = (CAIRO_DOCK_IS_DESKLET (pContainer) ? CAIRO_DOCK_DESKLET (pContainer) : NULL); \ read_conf_file (pKeyFile, cConfFilePath); \ if (CAIRO_DOCK_IS_DOCK (myContainer)) \ { \ if (myIcon != NULL) \ { \ myDrawContext = cairo_create (myIcon->pIconBuffer); \ g_return_if_fail (cairo_status (myDrawContext) == CAIRO_STATUS_SUCCESS); \ } \ } \ else \ myDrawContext = NULL;
erreur | une GError, utilisable pour reporter une erreur ayant lieu durant l'initialisation. |
#define CD_APPLET_INIT_END |
Valeur :
return; \
}
#define CD_APPLET_STOP_BEGIN |
Valeur :
void stop (void) \ {
#define CD_APPLET_STOP_END |
Valeur :
reset_data (); \
reset_config (); \
myDock = NULL; \
myDesklet = NULL; \
myContainer = NULL; \
myIcon = NULL; \
if (myDrawContext != NULL) \
cairo_destroy (myDrawContext); \
myDrawContext = NULL; \
}
#define CD_APPLET_RELOAD_BEGIN |
Valeur :
gboolean reload (GKeyFile *pKeyFile, gchar *cConfFilePath, CairoDockContainer *pNewContainer) \ { \ cd_message ("%s (%s)\n", __func__, cConfFilePath); \ g_return_val_if_fail (pNewContainer != NULL, FALSE); \ CairoDockContainer *pOldContainer = myContainer; \ gboolean bContainerTypeChanged = (myContainer == NULL || myContainer->iType != pNewContainer->iType); \ myContainer = pNewContainer; \ myDock = (CAIRO_DOCK_IS_DOCK (pNewContainer) ? CAIRO_DOCK_DOCK (pNewContainer) : NULL); \ myDesklet = (CAIRO_DOCK_IS_DESKLET (pNewContainer) ? CAIRO_DOCK_DESKLET (pNewContainer) : NULL); \ if (pKeyFile != NULL) \ read_conf_file (pKeyFile, cConfFilePath); \ if (myDrawContext != NULL) \ cairo_destroy (myDrawContext); \ if (CAIRO_DOCK_IS_DOCK (myContainer)) \ { \ myDrawContext = cairo_create (myIcon->pIconBuffer); \ g_return_val_if_fail (cairo_status (myDrawContext) == CAIRO_STATUS_SUCCESS, FALSE); \ } \ else \ myDrawContext = NULL;
#define CD_APPLET_RELOAD_END |
Valeur :
return TRUE; \
}
#define CD_APPLET_MY_CONFIG_CHANGED (pKeyFile != NULL) |
TRUE ssi le fichier de conf de l'applet a change juste avant le reload.
#define CD_APPLET_MY_CONTAINER_TYPE_CHANGED bContainerTypeChanged |
TRUE ssi le type de container a change.
#define CD_APPLET_MY_OLD_CONTAINER pOldContainer; |
Le conteneur precedent le reload.
#define CD_APPLET_MY_CONF_FILE cConfFilePath |
Chemin du fichier de conf de l'applet, appelable durant les fonctions d'init, de config, et de reload.
#define CD_APPLET_MY_KEY_FILE pKeyFile |
Fichier de cles de l'applet, appelable durant les fonctions d'init, de config, et de reload.
#define CD_APPLET_GET_CONFIG_BEGIN |
Valeur :
void read_conf_file (GKeyFile *pKeyFile, gchar *cConfFilePath) \
{ \
gboolean bFlushConfFileNeeded = FALSE, bNewKeysPresent = FALSE; \
reset_config ();
#define CD_APPLET_GET_CONFIG_END |
Valeur :
if (bNewKeysPresent) \ cairo_dock_write_keys_to_file (pKeyFile, cConfFilePath); \ if (! bFlushConfFileNeeded) \ bFlushConfFileNeeded = cairo_dock_conf_file_needs_update (pKeyFile, MY_APPLET_VERSION); \ if (bFlushConfFileNeeded) \ cairo_dock_flush_conf_file (pKeyFile, cConfFilePath, MY_APPLET_SHARE_DATA_DIR);\ }
#define CD_APPLET_CONFIG_H |
Valeur :
void read_conf_file (GKeyFile *pKeyFile, gchar *cConfFilePath); \ void reset_config (void); \ void reset_data (void);
#define CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT | ( | cGroupName, | |||
cKeyName, | |||||
bDefaultValue | ) | cairo_dock_get_boolean_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, bDefaultValue, NULL, NULL) |
Recupere la valeur d'un parametre 'booleen' du fichier de conf.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
bDefaultValue | valeur par defaut si la cle et/ou le groupe n'est pas trouve (typiquement si cette cle est nouvelle). |
#define CD_CONFIG_GET_BOOLEAN | ( | cGroupName, | |||
cKeyName | ) | CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT (cGroupName, cKeyName, TRUE) |
Recupere la valeur d'un parametre 'booleen' du fichier de conf, avec TRUE comme valeur par defaut.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. |
#define CD_CONFIG_GET_INTEGER_WITH_DEFAULT | ( | cGroupName, | |||
cKeyName, | |||||
iDefaultValue | ) | cairo_dock_get_integer_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, iDefaultValue, NULL, NULL) |
Recupere la valeur d'un parametre 'entier' du fichier de conf.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
iDefaultValue | valeur par defaut si la cle et/ou le groupe n'est pas trouve (typiquement si cette cle est nouvelle). |
#define CD_CONFIG_GET_INTEGER | ( | cGroupName, | |||
cKeyName | ) | CD_CONFIG_GET_INTEGER_WITH_DEFAULT (cGroupName, cKeyName, 0) |
Recupere la valeur d'un parametre 'entier' du fichier de conf, avec 0 comme valeur par defaut.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. |
#define CD_CONFIG_GET_DOUBLE_WITH_DEFAULT | ( | cGroupName, | |||
cKeyName, | |||||
fDefaultValue | ) | cairo_dock_get_double_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, 0., NULL, NULL) |
Recupere la valeur d'un parametre 'double' du fichier de conf.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
fDefaultValue | valeur par defaut si la cle et/ou le groupe n'est pas trouve (typiquement si cette cle est nouvelle). |
#define CD_CONFIG_GET_DOUBLE | ( | cGroupName, | |||
cKeyName | ) | CD_CONFIG_GET_DOUBLE_WITH_DEFAULT (cGroupName, cKeyName, 0.) |
Recupere la valeur d'un parametre 'double' du fichier de conf, avec 0. comme valeur par defaut.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. |
#define CD_CONFIG_GET_STRING_WITH_DEFAULT | ( | cGroupName, | |||
cKeyName, | |||||
cDefaultValue | ) | cairo_dock_get_string_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, cDefaultValue, NULL, NULL) |
Recupere la valeur d'un parametre 'chaine de caracteres' du fichier de conf.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
cDefaultValue | valeur par defaut si la cle et/ou le groupe n'est pas trouve (typiquement si cette cle est nouvelle). NULL accepte. |
#define CD_CONFIG_GET_STRING | ( | cGroupName, | |||
cKeyName | ) | CD_CONFIG_GET_STRING_WITH_DEFAULT (cGroupName, cKeyName, NULL) |
Recupere la valeur d'un parametre 'chaine de caracteres' du fichier de conf, avec NULL comme valeur par defaut.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. |
#define CD_CONFIG_GET_STRING_LIST_WITH_DEFAULT | ( | cGroupName, | |||
cKeyName, | |||||
length, | |||||
cDefaultValues | ) | cairo_dock_get_string_list_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, length, cDefaultValues, NULL, NULL) |
Recupere la valeur d'un parametre 'liste de chaines de caracteres' du fichier de conf.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
length | pointeur sur un entier, rempli avec le nombre de chaines recuperees. | |
cDefaultValues | valeur par defaut si la cle et/ou le groupe n'est pas trouve (typiquement si cette cle est nouvelle). C'est une chaine de caractere contenant les mots separes par des ';', ou NULL. |
#define CD_CONFIG_GET_STRING_LIST | ( | cGroupName, | |||
cKeyName, | |||||
length | ) | CD_CONFIG_GET_STRING_LIST_WITH_DEFAULT(cGroupName, cKeyName, length, NULL) |
Recupere la valeur d'un parametre 'liste de chaines de caracteres' du fichier de conf, avec NULL comme valeur par defaut.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
length | pointeur sur un entier, rempli avec le nombre de chaines recuperees. |
#define CD_CONFIG_GET_ANIMATION_WITH_DEFAULT | ( | cGroupName, | |||
cKeyName, | |||||
iDefaultAnimation | ) | cairo_dock_get_animation_type_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, iDefaultAnimation, NULL, NULL); |
Recupere la valeur d'un parametre 'type d'animation' du fichier de conf.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
iDefaultAnimation | valeur par defaut si la cle et/ou le groupe n'est pas trouve (typiquement si cette cle est nouvelle). |
#define CD_CONFIG_GET_ANIMATION | ( | cGroupName, | |||
cKeyName | ) | CD_CONFIG_GET_ANIMATION_WITH_DEFAULT(cGroupName, cKeyName, CAIRO_DOCK_BOUNCE) |
Recupere la valeur d'un parametre 'type d'animation' du fichier de conf, avec CAIRO_DOCK_BOUNCE comme valeur par defaut.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. |
#define CD_CONFIG_GET_COLOR_WITH_DEFAULT | ( | cGroupName, | |||
cKeyName, | |||||
pColorBuffer, | |||||
pDefaultColor | ) | cairo_dock_get_double_list_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, pColorBuffer, 4, pDefaultColor, NULL, NULL); |
Recupere la valeur d'un parametre 'couleur' au format RVBA. du fichier de conf.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
pColorBuffer | tableau de 4 double deja alloue, et qui sera rempli avec les 4 composantes de la couleur. | |
pDefaultColor | valeur par defaut si la cle et/ou le groupe n'est pas trouve (typiquement si cette cle est nouvelle). C'est un tableau de 4 double, ou NULL. |
#define CD_CONFIG_GET_COLOR | ( | cGroupName, | |||
cKeyName, | |||||
pColorBuffer | ) | CD_CONFIG_GET_COLOR_WITH_DEFAULT(cGroupName, cKeyName, pColorBuffer, NULL) |
Recupere la valeur d'un parametre 'couleur' au format RVBA. du fichier de conf, avec NULL comme valeur par defaut.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
pColorBuffer | tableau de 4 double deja alloue, et qui sera rempli avec les 4 composantes de la couleur. |
#define CD_CONFIG_GET_COLOR_RVB_WITH_DEFAULT | ( | cGroupName, | |||
cKeyName, | |||||
pColorBuffer, | |||||
pDefaultColor | ) | cairo_dock_get_double_list_key_value (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, pColorBuffer, 3, pDefaultColor, NULL, NULL); |
Recupere la valeur d'un parametre 'couleur' au format RVB. du fichier de conf.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
pColorBuffer | tableau de 3 double deja alloue, et qui sera rempli avec les 3 composantes de la couleur. | |
pDefaultColor | valeur par defaut si la cle et/ou le groupe n'est pas trouve (typiquement si cette cle est nouvelle). C'est un tableau de 3 double, ou NULL. |
#define CD_CONFIG_GET_COLOR_RVB | ( | cGroupName, | |||
cKeyName, | |||||
pColorBuffer | ) | CD_CONFIG_GET_COLOR_RVB_WITH_DEFAULT(cGroupName, cKeyName, pColorBuffer, NULL) |
Recupere la valeur d'un parametre 'couleur' au format RVB. du fichier de conf, avec NULL comme valeur par defaut.
cGroupName | nom du groupe dans le fichier de conf. | |
cKeyName | nom de la cle dans le fichier de conf. | |
pColorBuffer | tableau de 3 double deja alloue, et qui sera rempli avec les 3 composantes de la couleur. |
#define CD_CONFIG_GET_THEME_PATH | ( | cGroupName, | |||
cKeyName, | |||||
cThemesDirName, | |||||
cDefaultThemeName | ) | cairo_dock_manage_themes_for_applet (MY_APPLET_SHARE_DATA_DIR, cThemesDirName, CD_APPLET_MY_CONF_FILE, pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, cDefaultThemeName) |
Liste les themes contenu dans un repertoire, met a jour le fichier de conf avec, et renvoie le chemin correspondant au theme choisi.
cGroupName | nom du groupe (dans le fichier de conf) du parametre correspondant au theme. | |
cKeyName | nom de la cle (dans le fichier de conf) du parametre correspondant au theme. | |
cThemesDirName | nom du sous-repertoire regroupant tous les themes. | |
cDefaultThemeName | valeur par defaut si la cle et/ou le groupe et/ou le theme n'existe(nt) pas. |
#define CD_APPLET_RESET_CONFIG_BEGIN |
Valeur :
void reset_config (void) \ {
#define CD_APPLET_RESET_CONFIG_END |
Valeur :
memset (&myConfig, 0, sizeof (AppletConfig)); \
}
#define CD_APPLET_RESET_DATA_BEGIN |
Valeur :
void reset_data(void) \ {
#define CD_APPLET_RESET_DATA_END |
Valeur :
memset (&myData, 0, sizeof (AppletData)); \
}
#define CD_APPLET_ABOUT | ( | cMessage | ) |
Valeur :
void about (GtkMenuItem *menu_item, gpointer *data) \ { \ cairo_dock_show_temporary_dialog (cMessage, myIcon, myContainer, 0); \ }
cMessage | message a afficher dans l'info-bulle. |
#define CD_APPLET_ABOUT_H void about (GtkMenuItem *menu_item, gpointer *data); |
Definition de la fonction precedente; a inclure dans le .h correspondant.
#define CD_APPLET_ON_CLICK action_on_click |
#define CD_APPLET_REGISTER_FOR_CLICK_EVENT cairo_dock_register_notification (CAIRO_DOCK_CLICK_ICON, (CairoDockNotificationFunc) CD_APPLET_ON_CLICK, CAIRO_DOCK_RUN_FIRST); |
Abonne l'applet aux notifications du clic gauche. A effectuer lors de l'init de l'applet.
#define CD_APPLET_UNREGISTER_FOR_CLICK_EVENT cairo_dock_remove_notification_func (CAIRO_DOCK_CLICK_ICON, (CairoDockNotificationFunc) CD_APPLET_ON_CLICK); |
Desabonne l'applet aux notifications du clic gauche. A effectuer lors de l'arret de l'applet.
#define CD_APPLET_ON_CLICK_BEGIN |
Valeur :
gboolean CD_APPLET_ON_CLICK (gpointer *data) \ { \ Icon *pClickedIcon = data[0]; \ CairoDockContainer *pClickedContainer = data[1]; \ guint iButtonState = GPOINTER_TO_INT (data[2]); \ if (pClickedIcon == myIcon || (myIcon != NULL && pClickedContainer == CAIRO_DOCK_CONTAINER (myIcon->pSubDock)) || pClickedContainer == CAIRO_DOCK_CONTAINER (myDesklet)) \ {
#define CD_APPLET_ON_CLICK_END |
Valeur :
return CAIRO_DOCK_INTERCEPT_NOTIFICATION; \ } \ return CAIRO_DOCK_LET_PASS_NOTIFICATION; \ }
#define CD_APPLET_ON_CLICK_H gboolean CD_APPLET_ON_CLICK (gpointer *data); |
Definition de la fonction precedente; a inclure dans le .h correspondant.
#define CD_APPLET_ON_BUILD_MENU applet_on_build_menu |
#define CD_APPLET_REGISTER_FOR_BUILD_MENU_EVENT cairo_dock_register_notification (CAIRO_DOCK_BUILD_MENU, (CairoDockNotificationFunc) CD_APPLET_ON_BUILD_MENU, CAIRO_DOCK_RUN_FIRST); |
Abonne l'applet aux notifications de construction du menu. A effectuer lors de l'init de l'applet.
#define CD_APPLET_UNREGISTER_FOR_BUILD_MENU_EVENT cairo_dock_remove_notification_func (CAIRO_DOCK_BUILD_MENU, (CairoDockNotificationFunc) CD_APPLET_ON_BUILD_MENU); |
Desabonne l'applet aux notifications de construction du menu. A effectuer lors de l'arret de l'applet.
#define CD_APPLET_ON_BUILD_MENU_BEGIN |
Valeur :
gboolean CD_APPLET_ON_BUILD_MENU (gpointer *data) \ { \ Icon *pClickedIcon = data[0]; \ CairoDockContainer *pClickedContainer = data[1]; \ if (pClickedIcon == myIcon || (myIcon != NULL && pClickedContainer == CAIRO_DOCK_CONTAINER (myIcon->pSubDock)) || pClickedContainer == CAIRO_DOCK_CONTAINER (myDesklet)) \ { \ GtkWidget *pAppletMenu = data[2]; \ GtkWidget *pMenuItem, image; \ pMenuItem = gtk_separator_menu_item_new (); \ gtk_menu_shell_append(GTK_MENU_SHELL (pAppletMenu), pMenuItem);
#define CD_APPLET_ON_BUILD_MENU_END |
Valeur :
} \ return CAIRO_DOCK_LET_PASS_NOTIFICATION; \ }
#define CD_APPLET_ON_BUILD_MENU_H gboolean CD_APPLET_ON_BUILD_MENU (gpointer *data); |
Definition de la fonction precedente; a inclure dans le .h correspondant.
#define CD_APPLET_MY_MENU pAppletMenu |
Menu principal de l'applet.
#define CD_APPLET_CLICKED_ICON pClickedIcon |
Icone cliquee.
#define CD_APPLET_CLICKED_CONTAINER pClickedContainer |
Container clique.
#define CD_APPLET_SHIFT_CLICK (iButtonState & GDK_SHIFT_MASK) |
La touche 'SHIFT' est-elle enfoncee au moment du clic ?
#define CD_APPLET_CTRL_CLICK (iButtonState & GDK_CONTROL_MASK) |
La touche 'CTRL' est-elle enfoncee au moment du clic ?
#define CD_APPLET_ALT_CLICK (iButtonState & GDK_MOD1_MASK) |
La touche 'ALT' est-elle enfoncee au moment du clic ?
#define CD_APPLET_ADD_SUB_MENU | ( | cLabel, | |||
pSubMenu, | |||||
pMenu | ) |
Valeur :
GtkWidget *pSubMenu = gtk_menu_new (); \ pMenuItem = gtk_menu_item_new_with_label (cLabel); \ gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem); \ gtk_menu_item_set_submenu (GTK_MENU_ITEM (pMenuItem), pSubMenu);
cLabel | nom du sous-menu, tel qu'il apparaitra dans le menu. | |
pSubMenu | GtkWidget du sous-menu; il doit juste avoir ete declare, il sera cree par la macro. | |
pMenu | GtkWidget du menu auquel on rajoutera le sous-menu. |
#define CD_APPLET_CREATE_AND_ADD_SUB_MENU | ( | cLabel, | |||
pMenu | ) | cairo_dock_create_sub_menu (cLabel, pMenu); |
Cree et ajoute un sous-menu a un menu deja existant.
cLabel | nom du sous-menu, tel qu'il apparaitra dans le menu. | |
pMenu | GtkWidget du menu auquel on rajoutera le sous-menu. |
#define CD_APPLET_ADD_IN_MENU_WITH_DATA | ( | cLabel, | |||
pFunction, | |||||
pMenu, | |||||
pData | ) |
Valeur :
pMenuItem = gtk_menu_item_new_with_label (cLabel); \
gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem); \
g_signal_connect (G_OBJECT (pMenuItem), "activate", G_CALLBACK (pFunction), pData);
cLabel | nom du sous-menu, tel qu'il apparaitra dans le menu. | |
pFunction | fonction appelee lors de la selection de cette entree. | |
pMenu | GtkWidget du menu auquel on rajoutera le sous-menu. | |
pData | donnees passees en parametre de la fonction. |
#define CD_APPLET_ADD_IN_MENU | ( | cLabel, | |||
pFunction, | |||||
pMenu | ) | CD_APPLET_ADD_IN_MENU_WITH_DATA(cLabel, pFunction, pMenu, NULL) |
Ajoute une entree a un menu deja existant.
cLabel | nom de l'entree, tel qu'il apparaitra dans le menu. | |
pFunction | fonction appelee lors de la selection de cette entree. | |
pMenu | GtkWidget du menu auquel on rajoutera l'entree. |
#define CD_APPLET_ADD_IN_MENU_WITH_STOCK | ( | cLabel, | |||
gtkStock, | |||||
pFunction, | |||||
pMenu, | |||||
pData | ) |
Valeur :
menu_item = gtk_image_menu_item_new_with_label (_(cLabel)); \
image = gtk_image_new_from_stock (gtkStock, GTK_ICON_SIZE_MENU); \
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), image); \
gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), menu_item); \
g_signal_connect (G_OBJECT (menu_item), "activate", G_CALLBACK(pFunction), pData);
cLabel | nom de l'entree, tel qu'il apparaitra dans le menu. | |
gtkStock | nom d'une icone de GTK. | |
pFunction | fonction appelee lors de la selection de cette entree. | |
pMenu | GtkWidget du menu auquel on rajoutera l'entree. | |
pData | donnees passees en parametre de la fonction. |
#define CD_APPLET_ADD_SEPARATOR | ( | ) |
Valeur :
pMenuItem = gtk_separator_menu_item_new (); \ gtk_menu_shell_append(GTK_MENU_SHELL (pSubMenu), pMenuItem);
#define CD_APPLET_ADD_ABOUT_IN_MENU | ( | pMenu | ) | CD_APPLET_ADD_IN_MENU (_("About"), about, pMenu) |
Ajoute une entree pour la fonction 'A propos'.
pMenu | GtkWidget du menu auquel sera ajoutee l'entree. |
#define CD_APPLET_LAST_ITEM_IN_MENU pMenuItem |
Recupere la derniere entree ajoutee dans la fonction.
#define CD_APPLET_ON_MIDDLE_CLICK action_on_middle_click |
#define CD_APPLET_REGISTER_FOR_MIDDLE_CLICK_EVENT cairo_dock_register_notification (CAIRO_DOCK_MIDDLE_CLICK_ICON, (CairoDockNotificationFunc) CD_APPLET_ON_MIDDLE_CLICK, CAIRO_DOCK_RUN_FIRST); |
Abonne l'applet aux notifications du clic du milieu. A effectuer lors de l'init de l'applet.
#define CD_APPLET_UNREGISTER_FOR_MIDDLE_CLICK_EVENT cairo_dock_remove_notification_func (CAIRO_DOCK_MIDDLE_CLICK_ICON, (CairoDockNotificationFunc) CD_APPLET_ON_MIDDLE_CLICK); |
Desabonne l'applet aux notifications du clic du milieu. A effectuer lors de l'arret de l'applet.
#define CD_APPLET_ON_MIDDLE_CLICK_BEGIN |
Valeur :
gboolean CD_APPLET_ON_MIDDLE_CLICK (gpointer *data) \ { \ Icon *pClickedIcon = data[0]; \ CairoDockContainer *pClickedContainer = data[1]; \ if (pClickedIcon == myIcon || (myIcon != NULL && pClickedContainer == CAIRO_DOCK_CONTAINER (myIcon->pSubDock)) || pClickedContainer == CAIRO_DOCK_CONTAINER (myDesklet)) \ {
#define CD_APPLET_ON_MIDDLE_CLICK_END |
Valeur :
return CAIRO_DOCK_INTERCEPT_NOTIFICATION; \ } \ return CAIRO_DOCK_LET_PASS_NOTIFICATION; \ }
#define CD_APPLET_ON_MIDDLE_CLICK_H gboolean CD_APPLET_ON_MIDDLE_CLICK (gpointer *data); |
Definition de la fonction precedente; a inclure dans le .h correspondant.
#define CD_APPLET_ON_DROP_DATA action_on_drop_data |
#define CD_APPLET_REGISTER_FOR_DROP_DATA_EVENT cairo_dock_register_notification (CAIRO_DOCK_DROP_DATA, (CairoDockNotificationFunc) CD_APPLET_ON_DROP_DATA, CAIRO_DOCK_RUN_FIRST); |
Abonne l'applet aux notifications du glisse-depose. A effectuer lors de l'init de l'applet.
#define CD_APPLET_UNREGISTER_FOR_DROP_DATA_EVENT cairo_dock_remove_notification_func (CAIRO_DOCK_DROP_DATA, (CairoDockNotificationFunc) CD_APPLET_ON_DROP_DATA); |
Desabonne l'applet aux notifications du glisse-depose. A effectuer lors de l'arret de l'applet.
#define CD_APPLET_ON_DROP_DATA_BEGIN |
Valeur :
gboolean CD_APPLET_ON_DROP_DATA (gpointer *data) \ { \ Icon *pClickedIcon = data[1]; \ CairoDockContainer *pClickedContainer = data[3]; \ if (pClickedIcon == myIcon || (myIcon != NULL && pClickedContainer == CAIRO_DOCK_CONTAINER (myIcon->pSubDock)) || pClickedContainer == CAIRO_DOCK_CONTAINER (myDesklet)) \ { \ const gchar *cReceivedData = data[0]; \ g_return_val_if_fail (cReceivedData != NULL, CAIRO_DOCK_LET_PASS_NOTIFICATION);
#define CD_APPLET_RECEIVED_DATA cReceivedData |
Donnees recues (chaine de caracteres).
#define CD_APPLET_ON_DROP_DATA_END |
Valeur :
return CAIRO_DOCK_INTERCEPT_NOTIFICATION; \ } \ return CAIRO_DOCK_LET_PASS_NOTIFICATION; \ }
#define CD_APPLET_ON_DROP_DATA_H gboolean CD_APPLET_ON_DROP_DATA (gpointer *data); |
Definition de la fonction precedente; a inclure dans le .h correspondant.
#define CD_APPLET_REDRAW_MY_ICON cairo_dock_redraw_my_icon (myIcon, myContainer); |
Redessine immediatement l'icone de l'applet.
#define CD_APPLET_SET_SURFACE_ON_MY_ICON | ( | pSurface | ) |
Valeur :
cairo_dock_set_icon_surface_with_reflect (myDrawContext, pSurface, myIcon, myContainer); \ cairo_dock_redraw_my_icon (myIcon, myContainer);
pSurface | la surface cairo a dessiner. |
#define CD_APPLET_SET_SURFACE_ON_MY_ICON_WITH_ZOOM | ( | pSurface, | |||
fScale | ) |
Valeur :
cairo_dock_set_icon_surface_full (myDrawContext, pSurface, fScale, 1., myIcon, myContainer); \ cairo_dock_add_reflection_to_icon (myDrawContext, myIcon, myContainer); \ cairo_dock_redraw_my_icon (myIcon, myContainer);
pSurface | la surface cairo a dessiner. | |
fScale | le facteur de zoom (>= 0) |
#define CD_APPLET_SET_SURFACE_ON_MY_ICON_WITH_ALPHA | ( | pSurface, | |||
fAlpha | ) |
Valeur :
cairo_dock_set_icon_surface_full (myDrawContext, pSurface, 1., fAlpha, myIcon, myContainer); \ cairo_dock_add_reflection_to_icon (myDrawContext, myIcon, myContainer); \ cairo_dock_redraw_my_icon (myIcon, myContainer);
pSurface | la surface cairo a dessiner. | |
fAlpha | la transparence (dans [0 , 1]). |
#define CD_APPLET_SET_SURFACE_ON_MY_ICON_WITH_BAR | ( | pSurface, | |||
fValue | ) |
Valeur :
cairo_dock_set_icon_surface_full (myDrawContext, pSurface, 1., 1., myIcon, myContainer); \ cairo_dock_draw_bar_on_icon (myDrawContext, fValue, myIcon, myContainer); \ cairo_dock_add_reflection_to_icon (myDrawContext, myIcon, myContainer); \ cairo_dock_redraw_my_icon (myIcon, myContainer);
pSurface | la surface cairo a dessiner. | |
fValue | la valeur en fraction de la valeur max (donc dans [0 , 1]). |
#define CD_APPLET_SET_IMAGE_ON_MY_ICON | ( | cImagePath | ) |
Valeur :
if (cImagePath != myIcon->acFileName) \ { \ g_free (myIcon->acFileName); \ myIcon->acFileName = g_strdup (cImagePath); \ } \ cairo_dock_set_image_on_icon (myDrawContext, cImagePath, myIcon, myContainer);
cImagePath | chemin du fichier de l'image. |
#define CD_APPLET_SET_LOCAL_IMAGE_ON_MY_ICON | ( | cImageName | ) |
Valeur :
{ \ gchar *cImageFilePath = g_strconcat (MY_APPLET_SHARE_DATA_DIR, "/", cImageName, NULL); \ CD_APPLET_SET_IMAGE_ON_MY_ICON (cImageFilePath); \ g_free (cImageFilePath); \ }
cImageName | nom du fichier de l'image |
#define CD_APPLET_SET_USER_IMAGE_ON_MY_ICON | ( | cUserImageName, | |||
cDefaultLocalImageName | ) |
Valeur :
{ \ gchar *cImagePath; \ if (cUserImageName != NULL) \ cImagePath = cairo_dock_generate_file_path (cUserImageName); \ else \ cImagePath = g_strdup_printf ("%s/%s", MY_APPLET_SHARE_DATA_DIR, cDefaultLocalImageName); \ CD_APPLET_SET_IMAGE_ON_MY_ICON (cImagePath); \ g_free (cImagePath); \ }
cUserImageName | nom du fichier de l'image cote utilisateur. | |
cDefaultLocalImageName | image locale par defaut cote installation. |
#define CD_APPLET_SET_ZOOMED_SURFACE_ON_MY_ICON | ( | pSurface, | |||
fScale | ) |
Valeur :
cairo_dock_set_icon_surface_with_zoom (myDrawContext, pSurface, fScale, myIcon, myContainer); \ cairo_dock_redraw_my_icon (myIcon, myContainer);
pSurface | ||
fScale |
#define CD_APPLET_SET_NAME_FOR_MY_ICON | ( | cIconName | ) | cairo_dock_set_icon_name (myDrawContext, cIconName, myIcon, myContainer); |
Remplace l'etiquette de l'icone de l'applet par une nouvelle.
cIconName | la nouvelle etiquette. |
#define CD_APPLET_SET_QUICK_INFO_ON_MY_ICON | ( | cQuickInfoFormat, | |||
... | ) | cairo_dock_set_quick_info_full (myDrawContext, myIcon, myContainer, cQuickInfoFormat, ##__VA_ARGS__); |
Ecris une info-rapide sur l'icone de l'applet.
cQuickInfoFormat | l'info-rapide, au format 'printf'. Ce doit etre une chaine de caracteres particulièrement petite, representant une info concise, puisque ecrite directement sur l'icone. |
#define CD_APPLET_SET_QUICK_INFO_ON_MY_ICON_AND_REDRAW | ( | cQuickInfoFormat, | |||
... | ) |
Valeur :
cairo_dock_set_quick_info_full (myDrawContext, myIcon, myContainer, cQuickInfoFormat, ##__VA_ARGS__); \ cairo_dock_redraw_my_icon (myIcon, myContainer);
cQuickInfoFormat | l'info-rapide, au format 'printf'. Ce doit etre une chaine de caracteres particulièrement petite, representant une info concise, puisque ecrite directement sur l'icone. |
#define CD_APPLET_SET_HOURS_MINUTES_AS_QUICK_INFO | ( | iTimeInSeconds | ) | cairo_dock_set_hours_minutes_as_quick_info (myDrawContext, myIcon, myContainer, iTimeInSeconds); |
Ecris le temps en heures-minutes en info-rapide sur l'icone de l'applet.
iTimeInSeconds | le temps en secondes. |
#define CD_APPLET_SET_MINUTES_SECONDES_AS_QUICK_INFO | ( | iTimeInSeconds | ) | cairo_dock_set_minutes_secondes_as_quick_info (myDrawContext, myIcon, myContainer, iTimeInSeconds); |
Ecris le temps en minutes-secondes en info-rapide sur l'icone de l'applet.
iTimeInSeconds | le temps en secondes. |
#define CD_APPLET_ANIMATE_MY_ICON | ( | iAnimationType, | |||
iAnimationLength | ) | cairo_dock_animate_icon (myIcon, myContainer, iAnimationType, iAnimationLength); |
Lance l'animation de l'icone de l'applet.
iAnimationType | type de l'animation (un CairoDockAnimationType). | |
iAnimationLength | duree de l'animation, en nombre de tours. |
#define CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET | ( | cImagePath | ) | cairo_dock_create_surface_for_icon (cImagePath, myDrawContext, myIcon->fWidth * (myDock ? (1 + g_fAmplitude) / myDock->fRatio : 1), myIcon->fHeight* (myDock ? (1 + g_fAmplitude) / myDock->fRatio : 1)); |
Charge une image dans une surface, aux dimensions de l'icone de l'applet.
cImagePath | chemin du fichier de l'image. |
#define CD_APPLET_SET_DESKLET_RENDERER_WITH_DATA | ( | cRendererName, | |||
pConfig | ) |
Valeur :
cairo_dock_set_desklet_renderer_by_name (myDesklet, cRendererName, NULL, CAIRO_DOCK_LOAD_ICONS_FOR_DESKLET, pConfig); \ myDrawContext = cairo_create (myIcon->pIconBuffer);
cRendererName | nom du rendu. | |
pConfig | donnees de configuration du rendu. |
#define CD_APPLET_SET_DESKLET_RENDERER | ( | cRendererName | ) | CD_APPLET_SET_DESKLET_RENDERER_WITH_DATA (cRendererName, NULL) |
Definit le moteur de rendu de l'applet en mode desklet et le contexte de dessin associe a l'icone. A appeler a l'init mais ausi au reload pour prendre en compte les redimensionnements.
cRendererName | nom du rendu. |
#define CD_APPLET_INCLUDE_MY_VARS |
Valeur :
extern Icon *myIcon; \ extern cairo_t *myDrawContext; \ extern CairoDock *myDock; \ extern CairoDockDesklet *myDesklet; \ extern CairoDockContainer *myContainer; \ extern AppletConfig myConfig; \ extern AppletData myData;
#define D_ | ( | message | ) | dgettext (MY_APPLET_GETTEXT_DOMAIN, message) |
Macro pour gettext, similaire a _() et N_(), mais avec le nom de domaine en parametre. Encadrez toutes vos chaines de caracteres statiques avec ca, de maniere a ce que l'utilitaire 'xgettext' puisse les trouver et les inclure automatiquement dans les fichiers de traduction.
#define _D D_ |
#define CD_APPLET_DEFINE_TIMER | ( | _get_data, | |||
_read_data, | |||||
_load_data | ) |
#define CD_APPLET_START_TIMER cairo_dock_launch_measure (); |
#define CD_APPLET_STOP_TIMER |
Valeur :
if (myData.iSidTimer != 0) { \
g_source_remove (myData.iSidTimer); \
myData.iSidTimer = 0; }
#define CD_APPLET_TIMER_IS_RUNNING (myData.iSidTimer != 0) |
gchar* cairo_dock_check_conf_file_exists | ( | gchar * | cUserDataDirName, | |
gchar * | cShareDataDir, | |||
gchar * | cConfFileName | |||
) |
Verifie que le fichier de conf d'un plug-in est bien present dans le repertoire utilisateur du plug-in, sinon le copie a partir du fichier de conf fournit lors de l'installation. Cree au besoin le repertoire utilisateur du plug-in.
cUserDataDirName | le nom du repertoire utilisateur du plug-in. | |
cShareDataDir | le chemin du repertoire d'installation du plug-in. | |
cConfFileName | : le nom du fichier de conf fournit a l'installation. |
void cairo_dock_free_minimal_config | ( | CairoDockMinimalAppletConfig * | pMinimalConfig | ) |
void cairo_dock_set_icon_surface_full | ( | cairo_t * | pIconContext, | |
cairo_surface_t * | pSurface, | |||
double | fScale, | |||
double | fAlpha, | |||
Icon * | pIcon, | |||
CairoDockContainer * | pContainer | |||
) |
Applique une surface sur un contexte, en effacant tout au prealable, et en appliquant un facteur de zoom et de transparence.
pIconContext | le contexte du dessin; est modifie par la fonction. | |
pSurface | la surface a appliquer. | |
fScale | le zoom. | |
fAlpha | la transparence. | |
pIcon | l'icone. | |
pContainer | le container de l'icone. |
void cairo_dock_draw_bar_on_icon | ( | cairo_t * | pIconContext, | |
double | fValue, | |||
Icon * | pIcon, | |||
CairoDockContainer * | pContainer | |||
) |
Dessine une barre degradee rouge->vert representant une valeur donnee a la base de l'icone.
pIconContext | le contexte du dessin; est modifie par la fonction. | |
fValue | la valeur representant un pourcentage, <=1. | |
pIcon | l'icone. | |
pContainer | le container de l'icone. |
void cairo_dock_add_reflection_to_icon | ( | cairo_t * | pIconContext, | |
Icon * | pIcon, | |||
CairoDockContainer * | pContainer | |||
) |
Cree les surfaces de reflection d'une icone.
pIconContext | le contexte de dessin lie a la surface de l'icone; est modifie par la fonction. | |
pIcon | l'icone. | |
pContainer | le container de l'icone. |
void cairo_dock_set_icon_surface_with_reflect | ( | cairo_t * | pIconContext, | |
cairo_surface_t * | pSurface, | |||
Icon * | pIcon, | |||
CairoDockContainer * | pContainer | |||
) |
Applique une surface sur le contexte d'une icone, en effacant tout au prealable et en creant les reflets correspondant.
pIconContext | le contexte de dessin lie a la surface de l'icone; est modifie par la fonction. | |
pSurface | la surface a appliquer a l'icone. | |
pIcon | l'icone. | |
pContainer | le container de l'icone. |
void cairo_dock_set_image_on_icon | ( | cairo_t * | pIconContext, | |
gchar * | cImagePath, | |||
Icon * | pIcon, | |||
CairoDockContainer * | pContainer | |||
) |
Applique une image sur le contexte d'une icone, en effacant tout au prealable et en creant les reflets correspondant.
pIconContext | le contexte de dessin lie a la surface de l'icone; est modifie par la fonction. | |
cImagePath | chemin de l'image a appliquer a l'icone. | |
pIcon | l'icone. | |
pContainer | le container de l'icone. |
void cairo_dock_set_icon_name | ( | cairo_t * | pSourceContext, | |
const gchar * | cIconName, | |||
Icon * | pIcon, | |||
CairoDockContainer * | pContainer | |||
) |
Modifie l'etiquette d'une icone.
pSourceContext | un contexte de dessin; n'est pas altere par la fonction. | |
cIconName | la nouvelle etiquette de l'icone. | |
pIcon | l'icone. | |
pContainer | le container de l'icone. |
void cairo_dock_set_quick_info | ( | cairo_t * | pSourceContext, | |
const gchar * | cQuickInfo, | |||
Icon * | pIcon, | |||
double | fMaxScale | |||
) |
Ecris une info-rapide sur l'icone. C'est un petit texte (quelques caracteres) qui vient se superposer sur l'icone, avec un fond fonce.
pSourceContext | un contexte de dessin; n'est pas altere par la fonction. | |
cQuickInfo | le texte de l'info-rapide. | |
pIcon | l'icone. | |
fMaxScale | le facteur de zoom max. |
void cairo_dock_set_quick_info_full | ( | cairo_t * | pSourceContext, | |
Icon * | pIcon, | |||
CairoDockContainer * | pContainer, | |||
const gchar * | cQuickInfoFormat, | |||
... | ||||
) |
Ecris une info-rapide sur l'icone, en prenant une chaine au format 'printf'.
pSourceContext | un contexte de dessin; n'est pas altere par la fonction. | |
pIcon | l'icone. | |
pContainer | le container de l'icone. | |
cQuickInfoFormat | le texte de l'info-rapide, au format 'printf' (s, d, etc) | |
... | les donnees a inserer dans la chaine de caracteres. |
void cairo_dock_set_hours_minutes_as_quick_info | ( | cairo_t * | pSourceContext, | |
Icon * | pIcon, | |||
CairoDockContainer * | pContainer, | |||
int | iTimeInSeconds | |||
) |
void cairo_dock_set_minutes_secondes_as_quick_info | ( | cairo_t * | pSourceContext, | |
Icon * | pIcon, | |||
CairoDockContainer * | pContainer, | |||
int | iTimeInSeconds | |||
) |
void cairo_dock_animate_icon | ( | Icon * | pIcon, | |
CairoDock * | pDock, | |||
CairoDockAnimationType | iAnimationType, | |||
int | iNbRounds | |||
) |
Prepare l'animation d'une icone, et la lance immediatement.
pIcon | l'icone a animer. | |
pDock | le dock contenant l'icone. | |
iAnimationType | le type d'animation voulu, ou -1 pour utiliser l'animtion correspondante au type de l'icone. | |
iNbRounds | le nombre de fois ou l'animation sera jouee, ou -1 pour utiliser la valeur correspondante au type de l'icone. |
gchar* cairo_dock_manage_themes_for_applet | ( | gchar * | cAppletShareDataDir, | |
gchar * | cThemeDirName, | |||
gchar * | cAppletConfFilePath, | |||
GKeyFile * | pKeyFile, | |||
gchar * | cGroupName, | |||
gchar * | cKeyName, | |||
gboolean * | bFlushConfFileNeeded, | |||
gchar * | cDefaultThemeName | |||
) |
Liste les themes contenu dans un repertoire, met a jour le fichier de conf avec, et renvoie le chemin correspondant au theme choisi.
cAppletShareDataDir | chemin du repertoire contenant les donnees de l'applet. | |
cThemeDirName | nom du sous-repertoire regroupant tous les themes. | |
cAppletConfFilePath | chemin du fichier de conf. | |
pKeyFile | le fichier de conf ouvert. | |
cGroupName | nom du groupe (dans le fichier de conf) du parametre correspondant au theme. | |
cKeyName | nom de la cle (dans le fichier de conf) du parametre correspondant au theme. | |
bFlushConfFileNeeded | pointeur sur un booleen mis a TRUE si la cle n'existe pas. | |
cDefaultThemeName | nom du theme par defaut au cas ou le precedent n'existerait pas. |
GtkWidget* cairo_dock_create_sub_menu | ( | gchar * | cLabel, | |
GtkWidget * | pMenu | |||
) |
Cree un sous-menu, et l'ajoute a un menu deja existant.
cLabel | nom du sous-menu, tel qu'il apparaitra dans le menu. | |
pMenu | menu auquel on rajoutera le sous-menu. |
void cairo_dock_launch_measure | ( | CairoDockMeasure * | pMeasureTimer | ) |
Lance les mesures periodiques, prealablement preparee avec cairo_dock_new_measure_timer. La 1ere iteration est executee immediatement. L'acquisition et la lecture des donnees est faite de maniere asynchrone (dans un thread secondaire), alors que le chargement des mesures se fait dans la boucle principale.
pMeasureTimer | la mesure periodique. |
CairoDockMeasure* cairo_dock_new_measure_timer | ( | int | iCheckInterval, | |
GVoidFunc | acquisition, | |||
GVoidFunc | read, | |||
GVoidFunc | update | |||
) |
Cree une mesure periodique.
iCheckInterval | l'intervalle en ms entre 2 mesures. | |
acquisition | fonction d'acquisition des donnees. | |
read | fonction de lecture des donnees acquises. | |
update | fonction de mise a jour de l'interface en fonction des nouvelles donnees. |
void cairo_dock_stop_measure_timer | ( | CairoDockMeasure * | pMeasureTimer | ) |
Stoppe les mesures. Si une mesure est en cours, le thread d'acquisition/lecture se terminera tout seul plus tard, et la mesure sera ignoree. On peut reprendre les mesures par un simple cairo_dock_launch_measure.
pMeasureTimer | la mesure periodique. |
void cairo_dock_free_measure_timer | ( | CairoDockMeasure * | pMeasureTimer | ) |
Stoppe et detruit une mesure periodique, liberant toutes ses ressources allouees.
pMeasureTimer | la mesure periodique. |
gboolean cairo_dock_measure_is_active | ( | CairoDockMeasure * | pMeasureTimer | ) |
Dis si une mesure est active, c'est a dire si elle est appelee periodiquement.
pMeasureTimer | la mesure periodique. |
void cairo_dock_change_measure_frequency | ( | CairoDockMeasure * | pMeasureTimer, | |
int | iNewCheckInterval | |||
) |
Change la frequence des mesures. La prochaine mesure aura lien dans 1 iteration si elle etait deja active.
pMeasureTimer | la mesure periodique. | |
iNewCheckInterval | le nouvel intervalle entre 2 mesures, en ms. |