/* AbiSource Application Framework * Copyright (C) 1998-2000 AbiSource, Inc. * * 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 * of the License, 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., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. */ #ifndef XAP_UNIXGNOMEFRAME_H #define XAP_UNIXGNOMEFRAME_H #include #include "xap_UnixFrame.h" #include "xap_UnixApp.h" class XAP_UnixGnomeApp; /***************************************************************** ****************************************************************** ** This file defines the unix-platform-specific class for the ** cross-platform application frame. This is used to hold all ** unix-specific data. One of these is created for each top-level ** document window. ****************************************************************** *****************************************************************/ class XAP_UnixGnomeFrame : public XAP_UnixFrame { public: XAP_UnixGnomeFrame(XAP_UnixGnomeApp * app); XAP_UnixGnomeFrame(XAP_UnixGnomeFrame * f); XAP_UnixGnomeFrame(XAP_UnixApp * app); XAP_UnixGnomeFrame(XAP_UnixFrame * f); virtual ~XAP_UnixGnomeFrame(void); virtual bool openURL(const char * szURL); virtual bool runModalContextMenu(AV_View * pView, const char * szMenuName, UT_sint32 x, UT_sint32 y); virtual void rebuildMenus(void); virtual void rebuildToolbar(UT_uint32 ibar); enum AbiMimeId { TARGET_URI_LIST, TARGET_URL, TARGET_PNG, TARGET_SVG, TARGET_BMP, TARGET_JPG, TARGET_GIF, TARGET_TIF, TARGET_XPM, TARGET_RAS, TARGET_UNKNOWN }; protected: virtual void _createTopLevelWindow(void); virtual EV_Toolbar * _newToolbar(XAP_App *app, XAP_Frame *frame, const char *, const char *); static void _dnd_drop_event (GtkWidget *widget, GdkDragContext */*context*/, gint /*x*/, gint /*y*/, GtkSelectionData *selection_data, guint info, guint /*time*/, XAP_UnixGnomeFrame * pFrame); static void _dnd_real_drop_event (GtkWidget *widget, GdkDragContext * context, gint x, gint y, guint time, gpointer ppFrame); static void _dnd_drag_end(GtkWidget *widget, GdkDragContext *context, gpointer ppFrame); }; #endif /* XAP_UNIXGNOMEFRAME_H */