summaryrefslogtreecommitdiffstats
path: root/python/pykde/sip/kmdi/kmdimainfrm.sip
blob: c071f0cc7b2677f47d6634ae2adc9bb776f523bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module kmdi  version KDE 3.5.3


// This software 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 software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class KMdiViewCloseEvent : QCustomEvent
{
%TypeHeaderCode
#include <kmdimainfrm.h>
%End


public:
                         KMdiViewCloseEvent (KMdiChildView*);

};  // class KMdiViewCloseEvent


class KMdiMainFrm : KParts::DockMainWindow
{
%TypeHeaderCode
#include <kmdimainfrm.h>
%End


protected:

public:
                         KMdiMainFrm (QWidget*, const char* = "", KMdi::MdiMode = KMdi ::ChildframeMode , WFlags = WType_TopLevel |WDestructiveClose );
    void                 setStandardMDIMenuEnabled (bool = 1);
    void                 setManagedDockPositionModeEnabled (bool);
    bool                 isInMaximizedChildFrmMode ();
    KMdi::MdiMode        mdiMode ();
    KMdiChildView*       activeWindow ();
    virtual QPopupMenu*  taskBarPopup (KMdiChildView*, bool = 0);
    virtual QPopupMenu*  windowPopup (KMdiChildView*, bool = 1);
    virtual void         applyOptions ();
    KMdiChildView*       findWindow (const QString&);

    enum ExistsAs
    {
        DocumentView, 
        ToolView, 
        AnyView
    };

    bool                 windowExists (KMdiChildView*, KMdiMainFrm::ExistsAs);
    virtual bool         event (QEvent*);
    virtual void         setSysButtonsAtMenuPosition ();
    virtual int          taskBarHeight ();
    virtual void         setUndockPositioningOffset (QPoint);
//ig     KMdiIterator<KMdiChildView*>* createIterator ();
//ig     void                 deleteIterator (KMdiIterator<KMdiChildView*>*);
    QPopupMenu*          windowMenu () const;
    virtual void         setBackgroundColor (const QColor&);
    virtual void         setBackgroundPixmap (const QPixmap&);
    void                 setDefaultChildFrmSize (const QSize&);
    QSize                defaultChildFrmSize ();
    virtual void         setMinimumSize (int, int);
    int                  childFrameModeHeight ();
    virtual void         setMenuForSDIModeSysButtons (KMenuBar* = 0);
    static int           frameDecorOfAttachedViews ();
    void                 fakeSDIApplication ();
    bool                 isFakingSDIApplication () const;
    virtual bool         eventFilter (QObject*, QEvent*);
    void                 findRootDockWidgets (QPtrList<KDockWidget>*, QValueList<QRect>*);
    void                 setSwitching (const bool);
    bool                 switching () const;

public slots:
    KMdiChildView*       createWrapper (QWidget*, const QString&, const QString&);
    virtual void         addWindow (KMdiChildView*, int = KMdi ::StandardAdd );

%If ( KDE_3_3_0 -  )
    void                 addWindow (KMdiChildView*, int, int);
%End

    virtual void         addWindow (KMdiChildView*, QPoint, int = KMdi ::StandardAdd );
    virtual void         addWindow (KMdiChildView*, QRect, int = KMdi ::StandardAdd );
    virtual KMdiToolViewAccessor* addToolWindow (QWidget*, KDockWidget::DockPosition = KDockWidget ::DockNone , QWidget* = 0, int = 50, const QString& = 0, const QString& = 0);
    virtual void         deleteToolWindow (QWidget*);
    virtual void         deleteToolWindow (KMdiToolViewAccessor*);
    KMdiToolViewAccessor* createToolWindow ();
    virtual void         removeWindowFromMdi (KMdiChildView*);
    virtual void         closeWindow (KMdiChildView*, bool = 1);
    virtual void         slot_toggleTaskBar ();
    virtual void         attachWindow (KMdiChildView*, bool = 1, bool = 0);
    virtual void         detachWindow (KMdiChildView*, bool = 1);
    virtual void         childWindowCloseRequest (KMdiChildView*);
    virtual void         closeAllViews ();
    virtual void         iconifyAllViews ();
    virtual void         closeActiveView ();
    virtual void         switchToToplevelMode ();
    virtual void         finishToplevelMode ();
    virtual void         switchToChildframeMode ();
    virtual void         finishChildframeMode ();
    virtual void         switchToTabPageMode ();
    virtual void         finishTabPageMode ();
    virtual void         switchToIDEAlMode ();
    virtual void         finishIDEAlMode (bool = 1);
    void                 setIDEAlModeStyle (int);

%If ( KDE_3_3_0 -  )
    void                 setToolviewStyle (int);
%End

    bool                 isViewTaskBarOn ();
    virtual void         showViewTaskBar ();
    virtual void         hideViewTaskBar ();
    virtual void         fillWindowMenu ();
    virtual void         cascadeWindows ();
    virtual void         cascadeMaximized ();
    virtual void         expandVertical ();
    virtual void         expandHorizontal ();
    virtual void         tilePragma ();
    virtual void         tileAnodine ();
    virtual void         tileVertically ();
    virtual void         setFrameDecorOfAttachedViews (int);
    virtual void         setEnableMaximizedChildFrmMode (bool);
    virtual void         activateNextWin ();
    virtual void         activatePrevWin ();
    virtual void         activateFirstWin ();
    virtual void         activateLastWin ();
    virtual void         activateView (int);

protected:
    virtual void         resizeEvent (QResizeEvent*);
    virtual void         createTaskBar ();
    virtual void         createMdiManager ();
    void                 blockClearingOfWindowMenu (bool);
    void                 findToolViewsDockedToMain (QPtrList<KDockWidget>*, KDockWidget::DockPosition);
    void                 dockToolViewsIntoContainers (QPtrList<KDockWidget>&, KDockWidget*);
    QStringList          prepareIdealToTabs (KDockWidget*);
    void                 idealToolViewsToStandardTabs (QStringList, KDockWidget::DockPosition, int);
//force
%If ( KDE_3_4_0 - )
    KTabWidget*          tabWidget() const;
%End
//end

%If ( KDE_3_3_0 -  )
    KMdi::TabWidgetVisibility tabWidgetVisibility ();
    void                 setTabWidgetVisibility (KMdi::TabWidgetVisibility);
%End


protected slots:
    virtual void         activateView (KMdiChildView*);
    virtual void         taskbarButtonRightClicked (KMdiChildView*);
    void                 switchOffMaximizeModeForMenu (KMdiChildFrm*);
    void                 updateSysButtonConnections (KMdiChildFrm*, KMdiChildFrm*);
    void                 windowMenuItemActivated (int);
    void                 dockMenuItemActivated (int);
    void                 popupWindowMenu (QPoint);
    void                 dragEndTimeOut ();
    void                 closeViewButtonPressed ();

signals:
    void                 lastChildFrmClosed ();
    void                 lastChildViewClosed ();
    void                 leftTopLevelMode ();
    void                 childViewIsDetachedNow (QWidget*);
    void                 collapseOverlapContainers ();
    void                 mdiModeHasBeenChangedTo (KMdi::MdiMode);
    void                 viewActivated (KMdiChildView*);
    void                 viewDeactivated (KMdiChildView*);

public slots:
    void                 prevToolViewInDock ();
    void                 nextToolViewInDock ();

signals:
    void                 toggleTop ();
    void                 toggleLeft ();
    void                 toggleRight ();
    void                 toggleBottom ();

};  // class KMdiMainFrm



%MappedType QPtrList<KDockWidget>
//converts a Python list of KDockWidget
{
%TypeHeaderCode
#include <qptrlist.h>
%End

%ConvertFromTypeCode
    if (!sipCpp)
        return PyList_New (0);

    PyObject *pylist;

    // Create the list

    if ((pylist = PyList_New(0)) == NULL)
        return NULL;

    // Get it.

    QPtrList<KDockWidget> *cpplist = (QPtrList<KDockWidget> *)sipCpp;
    KDockWidget *cpp;
    PyObject *inst;

    // the loop depends on the type of iterator the  tmeplate makes available
    for(cpp = cpplist->first (); cpp != 0; cpp = cpplist->next () )
    {
        if (((inst = sipConvertFromInstance (cpp, sipClass_KDockWidget, sipTransferObj)) == NULL)
            || PyList_Append (pylist, inst) < 0)
        {
            Py_DECREF (pylist);
            return NULL;
        }
    }

    return pylist;
%End

%ConvertToTypeCode
    if (sipIsErr == NULL)
        return PyList_Check(sipPy);

    QPtrList<KDockWidget> *cpplist = new QPtrList<KDockWidget>;

    PyObject *elem;
    KDockWidget *cpp;
    int iserr = 0;

    for (int i = 0; i < PyList_Size (sipPy); i++)
    {
        elem = PyList_GET_ITEM (sipPy, i);
        cpp = (KDockWidget *)sipForceConvertTo_KDockWidget (elem, &iserr);

        if (iserr)
        {
            *sipIsErr = 1;
            delete cpplist;
            return 0;
        }

        cpplist->append (cpp);
    }

    *sipCppPtr = cpplist;

    return 1;
%End
};


%MappedType QValueList<QRect>
//converts a Python list of QRect
{
%TypeHeaderCode
#include <qvaluelist.h>
%End

%ConvertFromTypeCode
    if (!sipCpp)
        return PyList_New(0);

    // Create the list
    PyObject *pylist;
    if ((pylist = PyList_New(0)) == NULL)
        return NULL;

    QValueList<QRect> *cpplist = (QValueList<QRect> *)sipCpp;
    PyObject *inst;

    // Get it.
    QValueList<QRect>::Iterator it;
    for( it = cpplist->begin(); it != cpplist->end(); ++it )
    {
        if (((inst = sipBuildResult (NULL, "N", new QRect (*it), sipClass_QRect)) == NULL)
            || PyList_Append (pylist, inst) < 0)
        {
            Py_DECREF (pylist);
            return NULL;
        }
    }

    return pylist;
%End


%ConvertToTypeCode
    if (sipIsErr == NULL)
        return PyList_Check(sipPy);

    QValueList<QRect> *cpplist = new QValueList<QRect>;

    PyObject *elem;
    QRect *cpp;
    int iserr = 0;

    for (int i = 0; i < PyList_Size (sipPy); i++)
    {
        elem = PyList_GET_ITEM (sipPy, i);
        cpp = (QRect *)sipForceConvertTo_QRect (elem, &iserr);

        if (iserr)
        {
            *sipIsErr = 1;
            delete cpplist;
            return 0;
        }

        cpplist->append (*cpp);
    }

    *sipCppPtr = cpplist;

    return 1;
%End
};