gambas-source-code/main/lib/gui.trayicon/cfaketrayicon.c

84 lines
2.4 KiB
C
Raw Normal View History

[INTERPRETER] * NEW: GB.GetReturnValue() is a new interpreter API that returns a pointer to the internal GB_VALUE slot where GB.ReturnXXX() functions store the return value. * NEW: Allow a component to declare a GB_AFTER_INIT() exported method that is called just after all the components declared in the project are completely loaded. [GB.DBUS] * NEW: DBus._HasSystemTray() is a new method that returns if the DBus system tray is present. That method is used by the 'gb.gui.trayicon' component to know if 'gb.dbus.trayicon' must be loaded. * BUG: Fix xml introspection analysis. [GB.DBUS.TRAYICON] * BUG: Remove debugging messages. * BUG: TrayIcon icon data is sent correctly now. [GB.GUI.TRAYICON] * NEW: New component that you must check if you want to have system tray icons. It loads 'gb.dbus', use DBus._HasSystemTray() to know if it can load 'gb.dbus.trayicon'. Otherwise it tells the current GUI component to declare the old system tray implementation classes. [GB.GTK] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.GTK3] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.QT4] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.QT5] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. git-svn-id: svn://localhost/gambas/trunk@7170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-04 00:18:58 +02:00
/***************************************************************************
cfaketrayicon.cpp
(c) 2000-2017 Benoît Minisini <benoit.minisini@gambas-basic.org>
[INTERPRETER] * NEW: GB.GetReturnValue() is a new interpreter API that returns a pointer to the internal GB_VALUE slot where GB.ReturnXXX() functions store the return value. * NEW: Allow a component to declare a GB_AFTER_INIT() exported method that is called just after all the components declared in the project are completely loaded. [GB.DBUS] * NEW: DBus._HasSystemTray() is a new method that returns if the DBus system tray is present. That method is used by the 'gb.gui.trayicon' component to know if 'gb.dbus.trayicon' must be loaded. * BUG: Fix xml introspection analysis. [GB.DBUS.TRAYICON] * BUG: Remove debugging messages. * BUG: TrayIcon icon data is sent correctly now. [GB.GUI.TRAYICON] * NEW: New component that you must check if you want to have system tray icons. It loads 'gb.dbus', use DBus._HasSystemTray() to know if it can load 'gb.dbus.trayicon'. Otherwise it tells the current GUI component to declare the old system tray implementation classes. [GB.GTK] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.GTK3] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.QT4] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.QT5] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. git-svn-id: svn://localhost/gambas/trunk@7170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-04 00:18:58 +02:00
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.
***************************************************************************/
#define __CFAKETRAYICON_CPP
#include "gambas.h"
#include "main.h"
#include "cfaketrayicon.h"
GB_DESC FakeTrayIconsDesc[] =
{
GB_DECLARE_STATIC("TrayIcons"),
GB_STATIC_METHOD("_next", "TrayIcon", NULL, NULL),
GB_STATIC_METHOD("_get", "TrayIcon", NULL, "(Index)i"),
GB_STATIC_PROPERTY_READ("Count", "i", NULL),
GB_STATIC_METHOD("DeleteAll", NULL, NULL, NULL),
GB_END_DECLARE
};
GB_DESC FakeTrayIconDesc[] =
{
GB_DECLARE("TrayIcon", 0),
//GB_STATIC_METHOD("_exit", NULL, NULL, NULL),
GB_CONSTANT("Horizontal", "i", 0),
GB_CONSTANT("Vertical", "i", 1),
GB_METHOD("_new", NULL, NULL, NULL),
GB_METHOD("_free", NULL, NULL, NULL),
GB_METHOD("Show", NULL, NULL, NULL),
GB_METHOD("Hide", NULL, NULL, NULL),
GB_METHOD("Delete", NULL, NULL, NULL),
GB_PROPERTY("Picture", "Picture", NULL),
GB_PROPERTY("Icon", "Picture", NULL),
GB_PROPERTY("Visible", "b", NULL),
GB_PROPERTY("Text", "s", NULL),
GB_PROPERTY("PopupMenu", "s", NULL),
GB_PROPERTY("Tooltip", "s", NULL),
GB_PROPERTY("Tag", "v", NULL),
GB_EVENT("Click", NULL, NULL, NULL),
GB_EVENT("MiddleClick", NULL, NULL, NULL),
GB_EVENT("Scroll", NULL, "(Delta)f(Orientation)i", NULL),
GB_CONSTANT("_IsControl", "b", TRUE),
GB_CONSTANT("_Family", "s", "*"),
GB_CONSTANT("_IsVirtual", "b", TRUE),
GB_CONSTANT("_Group", "s", "Special"),
GB_CONSTANT("_DefaultEvent", "s", "Click"),
GB_CONSTANT("_Properties", "s", "Visible=False,Tag,Tooltip,Picture{Picture:NoCache},PopupMenu{Menu}"),
[INTERPRETER] * NEW: GB.GetReturnValue() is a new interpreter API that returns a pointer to the internal GB_VALUE slot where GB.ReturnXXX() functions store the return value. * NEW: Allow a component to declare a GB_AFTER_INIT() exported method that is called just after all the components declared in the project are completely loaded. [GB.DBUS] * NEW: DBus._HasSystemTray() is a new method that returns if the DBus system tray is present. That method is used by the 'gb.gui.trayicon' component to know if 'gb.dbus.trayicon' must be loaded. * BUG: Fix xml introspection analysis. [GB.DBUS.TRAYICON] * BUG: Remove debugging messages. * BUG: TrayIcon icon data is sent correctly now. [GB.GUI.TRAYICON] * NEW: New component that you must check if you want to have system tray icons. It loads 'gb.dbus', use DBus._HasSystemTray() to know if it can load 'gb.dbus.trayicon'. Otherwise it tells the current GUI component to declare the old system tray implementation classes. [GB.GTK] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.GTK3] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.QT4] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. [GB.QT5] * NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep the old system tray icon and use them on demand. git-svn-id: svn://localhost/gambas/trunk@7170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-04 00:18:58 +02:00
GB_END_DECLARE
};