Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
533ee0b9
Kaydet (Commit)
533ee0b9
authored
Eki 27, 2011
tarafından
Caolán McNamara
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
remove dangling objmnctl.cxx
üst
576d7aaa
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
159 deletions
+0
-159
objmnctl.cxx
sfx2/source/menu/objmnctl.cxx
+0
-159
No files found.
sfx2/source/menu/objmnctl.cxx
deleted
100644 → 0
Dosyayı görüntüle @
576d7aaa
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org 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 Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
#include <com/sun/star/embed/VerbDescriptor.hpp>
#include <com/sun/star/embed/VerbAttributes.hpp>
#include <vcl/menu.hxx>
#include <svl/stritem.hxx>
#include <sfx2/sfxsids.hrc>
#include "objmnctl.hxx"
#include <sfx2/dispatch.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/objsh.hxx>
// STATIC DATA -----------------------------------------------------------
SFX_IMPL_MENU_CONTROL
(
SfxObjectVerbsControl
,
SfxStringItem
);
using
namespace
com
::
sun
::
star
;
//--------------------------------------------------------------------
/*
Constructor; sets the Select-Handler for the Menu and inserts it into
its Parent.
*/
SfxObjectVerbsControl
::
SfxObjectVerbsControl
(
sal_uInt16
nSlotId
,
Menu
&
rMenu
,
SfxBindings
&
rBindings
)
:
SfxMenuControl
(
nSlotId
,
rBindings
)
,
pMenu
(
new
PopupMenu
)
,
rParent
(
rMenu
)
{
rMenu
.
SetPopupMenu
(
nSlotId
,
pMenu
);
pMenu
->
SetSelectHdl
(
LINK
(
this
,
SfxObjectVerbsControl
,
MenuSelect
));
FillMenu
();
}
//--------------------------------------------------------------------
/*
Make up a menu with the current view of the verbs from ViewShell.
*/
void
SfxObjectVerbsControl
::
FillMenu
()
{
pMenu
->
Clear
();
SfxViewShell
*
pView
=
GetBindings
().
GetDispatcher
()
->
GetFrame
()
->
GetViewShell
();
if
(
pView
)
{
SfxObjectShell
*
pDoc
=
pView
->
GetObjectShell
();
const
com
::
sun
::
star
::
uno
::
Sequence
<
com
::
sun
::
star
::
embed
::
VerbDescriptor
>&
aVerbs
=
pView
->
GetVerbs
();
if
(
aVerbs
.
getLength
()
)
{
sal_uInt16
nSlotId
=
SID_VERB_START
;
for
(
sal_uInt16
n
=
0
;
n
<
aVerbs
.
getLength
();
n
++
)
{
// check for ReadOnly verbs
if
(
pDoc
->
IsReadOnly
()
&&
!
(
aVerbs
[
n
].
VerbAttributes
&
embed
::
VerbAttributes
::
MS_VERBATTR_NEVERDIRTIES
)
)
continue
;
// check for verbs that shouldn't appear in the menu
if
(
!
(
aVerbs
[
n
].
VerbAttributes
&
embed
::
VerbAttributes
::
MS_VERBATTR_ONCONTAINERMENU
)
)
continue
;
DBG_ASSERT
(
nSlotId
<=
SID_VERB_END
,
"Too many Verbs!"
);
if
(
nSlotId
>
SID_VERB_END
)
break
;
pMenu
->
InsertItem
(
nSlotId
++
,
aVerbs
[
n
].
VerbName
);
}
}
}
rParent
.
EnableItem
(
GetId
(),
(
sal_Bool
)
pMenu
->
GetItemCount
()
);
}
//--------------------------------------------------------------------
/*
Status notification:
Fill the menu with the current verbs from the ViewShell of the
the DocumentShell. If the functionality is disabled, the corresponding
menu entry in Parent menu is disabled, otherwise it is enabled.
*/
void
SfxObjectVerbsControl
::
StateChanged
(
sal_uInt16
/*nSID*/
,
SfxItemState
eState
,
const
SfxPoolItem
*
/*pState*/
)
{
rParent
.
EnableItem
(
GetId
(),
SFX_ITEM_AVAILABLE
==
eState
);
if
(
SFX_ITEM_AVAILABLE
==
eState
)
FillMenu
();
}
//--------------------------------------------------------------------
/*
Select-Handler for Menus;
run the selected Verb,
*/
IMPL_LINK_INLINE_START
(
SfxObjectVerbsControl
,
MenuSelect
,
Menu
*
,
pSelMenu
)
{
const
sal_uInt16
nSlotId
=
pSelMenu
->
GetCurItemId
();
if
(
nSlotId
)
GetBindings
().
Execute
(
nSlotId
);
return
1
;
}
IMPL_LINK_INLINE_END
(
SfxObjectVerbsControl
,
MenuSelect
,
Menu
*
,
pSelMenu
)
//--------------------------------------------------------------------
/*
Destructor; releases the Menu.
*/
SfxObjectVerbsControl
::~
SfxObjectVerbsControl
()
{
delete
pMenu
;
}
//--------------------------------------------------------------------
PopupMenu
*
SfxObjectVerbsControl
::
GetPopup
()
const
{
return
pMenu
;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment