| [178] | 1 | /* ***** BEGIN LICENSE BLOCK *****
|
|---|
| 2 | * Version: CDDL 1.0/LGPL 2.1
|
|---|
| 3 | *
|
|---|
| 4 | * The contents of this file are subject to the COMMON DEVELOPMENT AND
|
|---|
| 5 | * DISTRIBUTION LICENSE (CDDL) Version 1.0 (the "License"); you may not use
|
|---|
| 6 | * this file except in compliance with the License. You may obtain a copy of
|
|---|
| 7 | * the License at http://www.sun.com/cddl/
|
|---|
| 8 | *
|
|---|
| 9 | * Software distributed under the License is distributed on an "AS IS" basis,
|
|---|
| 10 | * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|---|
| 11 | * for the specific language governing rights and limitations under the
|
|---|
| 12 | * License.
|
|---|
| 13 | *
|
|---|
| 14 | * The Original Code is "NOM" Netlabs Object Model
|
|---|
| 15 | *
|
|---|
| 16 | * The Initial Developer of the Original Code is
|
|---|
| 17 | * netlabs.org: Chris Wohlgemuth <cinc-ml@netlabs.org>.
|
|---|
| [291] | 18 | * Portions created by the Initial Developer are Copyright (C) 2005-2007
|
|---|
| [178] | 19 | * the Initial Developer. All Rights Reserved.
|
|---|
| 20 | *
|
|---|
| 21 | * Contributor(s):
|
|---|
| 22 | *
|
|---|
| 23 | * Alternatively, the contents of this file may be used under the terms of
|
|---|
| 24 | * the GNU Lesser General Public License Version 2.1 (the "LGPL"), in which
|
|---|
| 25 | * case the provisions of the LGPL are applicable instead of those above. If
|
|---|
| 26 | * you wish to allow use of your version of this file only under the terms of
|
|---|
| 27 | * the LGPL, and not to allow others to use your version of this file under
|
|---|
| 28 | * the terms of the CDDL, indicate your decision by deleting the provisions
|
|---|
| 29 | * above and replace them with the notice and other provisions required by the
|
|---|
| 30 | * LGPL. If you do not delete the provisions above, a recipient may use your
|
|---|
| 31 | * version of this file under the terms of any one of the CDDL or the LGPL.
|
|---|
| 32 | *
|
|---|
| 33 | * ***** END LICENSE BLOCK ***** */
|
|---|
| [245] | 34 | /** \file
|
|---|
| 35 |
|
|---|
| 36 | */
|
|---|
| [178] | 37 |
|
|---|
| 38 | #ifndef WPWINDOW_IDL_INCLUDED
|
|---|
| 39 | #define WPWINDOW_IDL_INCLUDED
|
|---|
| 40 |
|
|---|
| 41 | #include <nomobj.idl>
|
|---|
| [189] | 42 | #include "nomwindow.idl"
|
|---|
| [191] | 43 | #include "nomstring.idl"
|
|---|
| [178] | 44 |
|
|---|
| 45 | NOMCLASSNAME(WPWindow);
|
|---|
| 46 |
|
|---|
| [291] | 47 | #ifdef __NOM_IDL_COMPILER__
|
|---|
| 48 | interface WPObject;
|
|---|
| 49 | #else
|
|---|
| [189] | 50 | #if 1
|
|---|
| 51 | #ifndef WPOBJECT_IDL_INCLUDED
|
|---|
| 52 | native PWPObject;
|
|---|
| 53 | #endif
|
|---|
| 54 | #else
|
|---|
| [178] | 55 | #include "wpobject.idl"
|
|---|
| [189] | 56 | #endif
|
|---|
| [291] | 57 | #endif
|
|---|
| [178] | 58 |
|
|---|
| [245] | 59 | /** \interface WPWindow
|
|---|
| 60 |
|
|---|
| 61 | Base class for all windows created by desktop objects. This class offers methods to
|
|---|
| 62 | store and retrieve associated desktop objects.
|
|---|
| 63 | */
|
|---|
| [178] | 64 | interface WPWindow : NOMWindow
|
|---|
| 65 | {
|
|---|
| [291] | 66 | #ifdef __NOM_IDL_COMPILER__
|
|---|
| 67 | filestem=wpwindow;
|
|---|
| 68 | #endif
|
|---|
| [178] | 69 | NOMCLASSVERSION(1, 0);
|
|---|
| 70 |
|
|---|
| [237] | 71 | /**
|
|---|
| 72 | Instances of the WPWindow class (or subclasses of WPWindow) are usually created
|
|---|
| 73 | by desktop classes. For example WPFolderWindow instances (folder views) or
|
|---|
| 74 | WPNoteBook instances (settings notebooks). This method is used so the desktop class
|
|---|
| 75 | can save a pointer to itself for use from within the WPWindow class code.
|
|---|
| 76 |
|
|---|
| 77 | \remark Note that this method is \b not a wrapper around
|
|---|
| 78 | \code
|
|---|
| 79 | g_object_set_data(G_OBJECT(window), NOMOBJECT_KEY_STRING, nomSelf);
|
|---|
| 80 | \endcode
|
|---|
| [247] | 81 | That function is used internally by the WPWindow class to connect a WPWindow instance
|
|---|
| [237] | 82 | (nomSelf in this call) with a GTK window.
|
|---|
| 83 |
|
|---|
| 84 | \par How to override:
|
|---|
| 85 | This method is usually not overriden.
|
|---|
| 86 |
|
|---|
| 87 | \param wpObject The desktop object this window belongs to.
|
|---|
| 88 |
|
|---|
| 89 | \par Example:
|
|---|
| 90 | The follwing code is a method implementation of class WPFolder. It creates a new
|
|---|
| [247] | 91 | folder window (of class WPFolderWindow) and uses wpSetObject() to connect the folder
|
|---|
| [237] | 92 | object (nomSelf) with the folder window.
|
|---|
| 93 | \include wpsetwpobject.c
|
|---|
| 94 |
|
|---|
| [247] | 95 | \sa wpQueryObject()
|
|---|
| [237] | 96 | */
|
|---|
| [247] | 97 | void wpSetObject(in PWPObject wpObject);
|
|---|
| [237] | 98 |
|
|---|
| 99 | /**
|
|---|
| 100 | Query the desktop object this window belongs to.
|
|---|
| 101 |
|
|---|
| 102 | \remark Note that this method is \b not a wrapper around
|
|---|
| 103 | \code
|
|---|
| 104 | g_object_get_data(G_OBJECT(window), NOMOBJECT_KEY_STRING);
|
|---|
| 105 | \endcode
|
|---|
| [247] | 106 | Using that function one queries the window object (\b not the desktop object) from
|
|---|
| [237] | 107 | a GTK toplevel window.
|
|---|
| 108 |
|
|---|
| 109 | \par How to override:
|
|---|
| 110 | This method is usually not overriden.
|
|---|
| 111 |
|
|---|
| [247] | 112 | \sa wpSetObject()
|
|---|
| [237] | 113 | */
|
|---|
| [247] | 114 | PWPObject wpQueryObject();
|
|---|
| [191] | 115 | void wpSetWindowTitle(in PNOMString newTitle);
|
|---|
| [178] | 116 | NOMINSTANCEVAR(PWPObject wpObject);
|
|---|
| 117 | };
|
|---|
| 118 |
|
|---|
| 119 | #endif /* WPWINDOW_IDL_INCLUDED */
|
|---|
| 120 |
|
|---|
| 121 |
|
|---|
| 122 |
|
|---|
| 123 |
|
|---|