~ubuntu-branches/ubuntu/trusty/kvirc/trusty

« back to all changes in this revision

Viewing changes to src/modules/objects/KvsObject_workspace.cpp

  • Committer: Package Import Robot
  • Author(s): Kai Wasserbäch
  • Date: 2011-09-29 16:27:07 UTC
  • mfrom: (0.3.15 upstream)
  • Revision ID: package-import@ubuntu.com-20110929162707-t29s6itjnsg2syuf
Tags: 4:4.1.3+20110929.svn5980-1
The "Balance of Power" release.

* Synced to upstream's SVN revision 5980.
* debian/control:
  - Vcs-* fields updated.
  - Remove libcrypto++-dev from B-Ds, was dropped upstream.
  - Bumped B-D on debhelper to >= 8.9.4.
* debian/rules:
  - Remove a now obsolete flag.
  - Upstream fixed a typo in a configuration variable name (now
    WANT_COEXISTENCE), updated invocation.
* debian/compat: Now at 9.
* Make KVIrc multiarch ready:
  - debian/{kvirc,libkvilib4,kvirc-modules}.install: Split out binaries
    under /usr/lib.
  - debian/rules: Add -DLIB_SUFFIX to dh_auto_configure invocation.
  - debian/control:
    + Added new packages (needed for split).
    + Added Multi-Arch fields
    + Added Pre-Depends: multiarch-support and ${misc:Pre-Depends} where
      needed.
    + Bumped B-D on CMake.
  - debian/{kvirc,libkvilib4,kvirc-modules}.lintian-overrides: Moved and
    updated overrides to match new locations (one could be dropped in the
    process).

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
                {[br]
83
83
                        constructor[br]
84
84
                        {[br]
85
 
                                $$->$setGeometry(%X,%Y,100,100)[br](KviKvsObjectFunctionCall *c
 
85
                                $$->$setGeometry(%X,%Y,100,100)[br](KviKvsObjectFunctionCall *c
86
86
                                $$->%label=$new(label,$$)[br]
87
87
                                $$->%label->$settext("Another class by N\&G")[br]
88
88
                                $$->%label->$setautoresize(1)[br]
167
167
*/
168
168
 
169
169
KVSO_BEGIN_REGISTERCLASS(KvsObject_workspace,"workspace","widget")
170
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,addSubWindow);
171
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,removeSubWindow);
172
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activeWindow);
173
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,scrollBarsEnabled);
174
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,setscrollBarsEnabled);
175
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,cascade);
176
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,tile);
177
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,closeActiveWindow);
178
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,closeAllWindows);
179
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activateNextWindow);
180
 
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activatePrevWindow);
 
170
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,addSubWindow);
 
171
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,removeSubWindow);
 
172
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activeWindow);
 
173
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,scrollBarsEnabled);
 
174
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,setscrollBarsEnabled);
 
175
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,cascade);
 
176
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,tile);
 
177
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,closeActiveWindow);
 
178
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,closeAllWindows);
 
179
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activateNextWindow);
 
180
        KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activatePrevWindow);
181
181
KVSO_END_REGISTERCLASS(KvsObject_workspace)
182
182
 
183
183
KVSO_BEGIN_CONSTRUCTOR(KvsObject_workspace,KvsObject_widget)
184
 
pWidgetDict=new QHash<kvs_hobject_t,QMdiSubWindow *>;
 
184
        pWidgetDict=new QHash<kvs_hobject_t,QMdiSubWindow *>;
185
185
KVSO_END_CONSTRUCTOR(KvsObject_workspace)
186
186
 
187
187
KVSO_BEGIN_DESTRUCTOR(KvsObject_workspace)
188
 
if (pWidgetDict)
189
 
{
190
 
    pWidgetDict->clear();
191
 
    delete pWidgetDict;
192
 
    pWidgetDict=0;
193
 
}
 
188
        if (pWidgetDict)
 
189
        {
 
190
                pWidgetDict->clear();
 
191
                delete pWidgetDict;
 
192
                pWidgetDict=0;
 
193
        }
194
194
KVSO_END_CONSTRUCTOR(KvsObject_workspace)
195
195
 
196
196
bool KvsObject_workspace::init(KviKvsRunTimeContext *, KviKvsVariantList *)
197
197
{
198
 
        SET_OBJECT(QMdiArea);
 
198
        SET_OBJECT(QMdiArea);
199
199
        return true;
200
200
}
201
201
 
202
202
KVSO_CLASS_FUNCTION(workspace,addSubWindow)
203
203
{
204
 
        CHECK_INTERNAL_POINTER(widget())
205
 
        KviKvsObject * pObject;
206
 
        kvs_hobject_t hObject;
207
 
        KVSO_PARAMETERS_BEGIN(c)
208
 
                KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject)
209
 
        KVSO_PARAMETERS_END(c)
210
 
        pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
211
 
        CHECK_HOBJECT_IS_WIDGET(pObject)
212
 
        QMdiSubWindow *pMdi=((QMdiArea *)object())->addSubWindow(((QWidget *)(pObject->object())));
213
 
        pWidgetDict->insert(hObject,pMdi);
214
 
        ((QMdiArea *)object())->setActiveSubWindow(pMdi);
215
 
        return true;
 
204
        CHECK_INTERNAL_POINTER(widget())
 
205
        KviKvsObject * pObject;
 
206
        kvs_hobject_t hObject;
 
207
        KVSO_PARAMETERS_BEGIN(c)
 
208
                KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject)
 
209
        KVSO_PARAMETERS_END(c)
 
210
 
 
211
        pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
 
212
        CHECK_HOBJECT_IS_WIDGET(pObject)
 
213
        QMdiSubWindow *pMdi=((QMdiArea *)object())->addSubWindow(((QWidget *)(pObject->object())));
 
214
        pWidgetDict->insert(hObject,pMdi);
 
215
        ((QMdiArea *)object())->setActiveSubWindow(pMdi);
 
216
        return true;
216
217
}
217
218
KVSO_CLASS_FUNCTION(workspace,removeSubWindow)
218
219
{
219
 
        CHECK_INTERNAL_POINTER(widget())
220
 
        KviKvsObject * pObject;
221
 
        kvs_hobject_t hObject;
222
 
        KVSO_PARAMETERS_BEGIN(c)
223
 
                KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject)
224
 
        KVSO_PARAMETERS_END(c)
225
 
        pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
226
 
        CHECK_HOBJECT_IS_WIDGET(pObject)
227
 
        QMdiSubWindow *pMdiSubWindow=pWidgetDict->value(hObject);
228
 
        if(pMdiSubWindow)
229
 
        {
230
 
               ((QMdiArea *)object())->removeSubWindow(pMdiSubWindow);
231
 
               pWidgetDict->remove(hObject);
232
 
        }
233
 
        else c->warning(__tr2qs_ctx("The widget must be a subwindow of this workspace","objects"));
234
 
        return true;
 
220
        CHECK_INTERNAL_POINTER(widget())
 
221
        KviKvsObject * pObject;
 
222
        kvs_hobject_t hObject;
 
223
        KVSO_PARAMETERS_BEGIN(c)
 
224
                KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject)
 
225
        KVSO_PARAMETERS_END(c)
 
226
 
 
227
        pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
 
228
        CHECK_HOBJECT_IS_WIDGET(pObject)
 
229
        QMdiSubWindow *pMdiSubWindow=pWidgetDict->value(hObject);
 
230
        if(pMdiSubWindow)
 
231
        {
 
232
                ((QMdiArea *)object())->removeSubWindow(pMdiSubWindow);
 
233
                pWidgetDict->remove(hObject);
 
234
        } else {
 
235
                c->warning(__tr2qs_ctx("The widget must be a subwindow of this workspace","objects"));
 
236
        }
 
237
        return true;
235
238
}
236
239
 
237
240
KVSO_CLASS_FUNCTION(workspace,cascade)
238
241
{
239
 
        CHECK_INTERNAL_POINTER(widget())
240
 
        ((QMdiArea *)widget())->cascadeSubWindows();
241
 
        return true;
 
242
        CHECK_INTERNAL_POINTER(widget())
 
243
        ((QMdiArea *)widget())->cascadeSubWindows();
 
244
        return true;
242
245
}
243
246
KVSO_CLASS_FUNCTION(workspace,tile)
244
247
{
245
 
        CHECK_INTERNAL_POINTER(widget())
246
 
        ((QMdiArea *)widget())->tileSubWindows();
247
 
        return true;
 
248
        CHECK_INTERNAL_POINTER(widget())
 
249
        ((QMdiArea *)widget())->tileSubWindows();
 
250
        return true;
248
251
}
249
252
KVSO_CLASS_FUNCTION(workspace,closeActiveWindow)
250
253
{
251
 
        CHECK_INTERNAL_POINTER(widget())
252
 
        ((QMdiArea *)widget())->closeActiveSubWindow();
253
 
        return true;
 
254
        CHECK_INTERNAL_POINTER(widget())
 
255
        ((QMdiArea *)widget())->closeActiveSubWindow();
 
256
        return true;
254
257
}
255
258
 
256
259
KVSO_CLASS_FUNCTION(workspace,closeAllWindows)
257
260
{
258
 
        CHECK_INTERNAL_POINTER(widget())
259
 
        ((QMdiArea *)widget())->closeAllSubWindows();
260
 
        return true;
 
261
        CHECK_INTERNAL_POINTER(widget())
 
262
        ((QMdiArea *)widget())->closeAllSubWindows();
 
263
        return true;
261
264
}
262
265
 
263
266
KVSO_CLASS_FUNCTION(workspace,activateNextWindow)
264
267
{
265
 
        CHECK_INTERNAL_POINTER(widget())
266
 
        ((QMdiArea *)widget())->activateNextSubWindow();
267
 
        return true;
 
268
        CHECK_INTERNAL_POINTER(widget())
 
269
        ((QMdiArea *)widget())->activateNextSubWindow();
 
270
        return true;
268
271
}
269
272
 
270
273
KVSO_CLASS_FUNCTION(workspace,activatePrevWindow)
271
274
{
272
 
        CHECK_INTERNAL_POINTER(widget())
273
 
        ((QMdiArea *)widget())->activatePreviousSubWindow();
274
 
        return true;
 
275
        CHECK_INTERNAL_POINTER(widget())
 
276
        ((QMdiArea *)widget())->activatePreviousSubWindow();
 
277
        return true;
275
278
}
276
279
 
277
280
KVSO_CLASS_FUNCTION(workspace,activeWindow)
278
281
{
279
 
        CHECK_INTERNAL_POINTER(widget())
280
 
        QMdiSubWindow *pActiveMdi=((QMdiArea *)widget())->activeSubWindow();
281
 
        if (pActiveMdi)
282
 
        {
283
 
            QHashIterator<kvs_hobject_t,QMdiSubWindow *> t(*pWidgetDict);
284
 
            while (t.hasNext())
285
 
            {
286
 
                    t.next();
287
 
                    kvs_hobject_t hObject=t.key();
288
 
                    QMdiSubWindow *pMdi=t.value();
289
 
                    if (pMdi==pActiveMdi)
290
 
                    {
291
 
                        c->returnValue()->setHObject(hObject);
292
 
                        break;
293
 
                    }
294
 
            }
295
 
        }
296
 
        else c->returnValue()->setHObject((kvs_hobject_t)0);
297
 
        return true;
 
282
        CHECK_INTERNAL_POINTER(widget())
 
283
        QMdiSubWindow *pActiveMdi=((QMdiArea *)widget())->activeSubWindow();
 
284
        if (pActiveMdi)
 
285
        {
 
286
                QHashIterator<kvs_hobject_t,QMdiSubWindow *> t(*pWidgetDict);
 
287
                while (t.hasNext())
 
288
                {
 
289
                        t.next();
 
290
                        kvs_hobject_t hObject=t.key();
 
291
                        QMdiSubWindow *pMdi=t.value();
 
292
                        if (pMdi==pActiveMdi)
 
293
                        {
 
294
                                c->returnValue()->setHObject(hObject);
 
295
                                break;
 
296
                        }
 
297
                }
 
298
        }
 
299
        else c->returnValue()->setHObject((kvs_hobject_t)0);
 
300
        return true;
298
301
}
 
302
 
299
303
KVSO_CLASS_FUNCTION(workspace,scrollBarsEnabled)
300
304
{
301
 
        CHECK_INTERNAL_POINTER(widget())
302
 
        bool bEnabled;
303
 
        if(((QMdiArea *)widget())->verticalScrollBarPolicy()!=Qt::ScrollBarAlwaysOff) bEnabled=true;
304
 
        else bEnabled=false;
305
 
        c->returnValue()->setBoolean(bEnabled);
 
305
        CHECK_INTERNAL_POINTER(widget())
 
306
        bool bEnabled;
 
307
        if(((QMdiArea *)widget())->verticalScrollBarPolicy()!=Qt::ScrollBarAlwaysOff)
 
308
                bEnabled=true;
 
309
        else
 
310
                bEnabled=false;
 
311
        c->returnValue()->setBoolean(bEnabled);
306
312
        return true;
307
313
}
308
314
 
309
315
KVSO_CLASS_FUNCTION(workspace,setscrollBarsEnabled)
310
316
{
311
 
        CHECK_INTERNAL_POINTER(widget())
312
 
        bool bEnabled;
 
317
        CHECK_INTERNAL_POINTER(widget())
 
318
        bool bEnabled;
313
319
        KVSO_PARAMETERS_BEGIN(c)
314
320
                KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled)
315
321
        KVSO_PARAMETERS_END(c)
316
 
        if(bEnabled)
317
 
        {
318
 
                ((QMdiArea *)widget())->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
319
 
                ((QMdiArea *)widget())->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
320
 
        }
321
 
        else
322
 
        {
323
 
                ((QMdiArea *)widget())->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
324
 
                ((QMdiArea *)widget())->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
325
 
        }
326
 
        return true;
 
322
        if(bEnabled)
 
323
        {
 
324
                ((QMdiArea *)widget())->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
 
325
                ((QMdiArea *)widget())->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
 
326
        }
 
327
        else
 
328
        {
 
329
                ((QMdiArea *)widget())->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 
330
                ((QMdiArea *)widget())->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
 
331
        }
 
332
        return true;
327
333
}
328
334