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
bc99f1ce
Kaydet (Commit)
bc99f1ce
authored
Mar 21, 2012
tarafından
Stephan Bergmann
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Ensure ResMgr outlives Resources
üst
4762788e
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
109 additions
and
17 deletions
+109
-17
Library_forui.mk
formula/Library_forui.mk
+1
-0
Package_inc.mk
formula/Package_inc.mk
+1
-0
formula.hxx
formula/inc/formula/formula.hxx
+8
-1
omoduleclient.hxx
formula/inc/formula/omoduleclient.hxx
+52
-0
formula.cxx
formula/source/ui/dlg/formula.cxx
+0
-1
funcpage.hxx
formula/source/ui/dlg/funcpage.hxx
+1
-1
omoduleclient.cxx
formula/source/ui/dlg/omoduleclient.cxx
+43
-0
parawin.hxx
formula/source/ui/dlg/parawin.hxx
+1
-1
structpg.hxx
formula/source/ui/dlg/structpg.hxx
+1
-1
ModuleHelper.hxx
formula/source/ui/inc/ModuleHelper.hxx
+1
-12
No files found.
formula/Library_forui.mk
Dosyayı görüntüle @
bc99f1ce
...
...
@@ -62,6 +62,7 @@ $(eval $(call gb_Library_add_exception_objects,forui,\
formula/source/ui/dlg/FormulaHelper \
formula/source/ui/dlg/funcpage \
formula/source/ui/dlg/funcutl \
formula/source/ui/dlg/omoduleclient \
formula/source/ui/dlg/parawin \
formula/source/ui/dlg/structpg \
formula/source/ui/resource/ModuleHelper \
...
...
formula/Package_inc.mk
Dosyayı görüntüle @
bc99f1ce
...
...
@@ -40,6 +40,7 @@ $(eval $(call gb_Package_add_file,formula_inc,inc/formula/funcutl.hxx,funcutl.hx
$(eval $(call gb_Package_add_file,formula_inc,inc/formula/grammar.hxx,grammar.hxx))
$(eval $(call gb_Package_add_file,formula_inc,inc/formula/IControlReferenceHandler.hxx,IControlReferenceHandler.hxx))
$(eval $(call gb_Package_add_file,formula_inc,inc/formula/IFunctionDescription.hxx,IFunctionDescription.hxx))
$(eval $(call gb_Package_add_file,formula_inc,inc/formula/omoduleclient.hxx,omoduleclient.hxx))
$(eval $(call gb_Package_add_file,formula_inc,inc/formula/opcode.hxx,opcode.hxx))
$(eval $(call gb_Package_add_file,formula_inc,inc/formula/tokenarray.hxx,tokenarray.hxx))
$(eval $(call gb_Package_add_file,formula_inc,inc/formula/token.hxx,token.hxx))
...
...
formula/inc/formula/formula.hxx
Dosyayı görüntüle @
bc99f1ce
...
...
@@ -32,6 +32,7 @@
#include <sfx2/basedlgs.hxx>
#include <memory>
#include "formula/formuladllapi.h"
#include "formula/omoduleclient.hxx"
namespace
formula
{
...
...
@@ -87,7 +88,13 @@ protected:
void
Update
(
const
String
&
_sExp
);
};
class
FORMULA_DLLPUBLIC
FormulaDlg
:
public
SfxModelessDialog
class
FORMULA_DLLPUBLIC
FormulaDlg
:
private
OModuleClient
,
public
SfxModelessDialog
// order of base classes is important, as OModuleClient controls the
// lifecycle of the ResMgr passed into SfxModelessDialog (via
// formula::ModuleRes), and at least with DBG_UTIL calling TestRes in
// ~Resource, the ResMgr must outlive the Resource (from which
// SfxModelessDialog ultimately derives)
{
friend
class
FormulaDlg_Impl
;
public
:
...
...
formula/inc/formula/omoduleclient.hxx
0 → 100644
Dosyayı görüntüle @
bc99f1ce
/* -*- 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.
*
************************************************************************/
#ifndef INCLUDED_FORMULA_MODULECLIENT_HXX
#define INCLUDED_FORMULA_MODULECLIENT_HXX
#include "sal/config.h"
#include "boost/noncopyable.hpp"
#include "formula/formuladllapi.h"
namespace
formula
{
/** Base class for objects which use any global module-specific ressources.
*/
class
FORMULA_DLLPUBLIC
OModuleClient
:
private
boost
::
noncopyable
{
public
:
OModuleClient
();
~
OModuleClient
();
};
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
formula/source/ui/dlg/formula.cxx
Dosyayı görüntüle @
bc99f1ce
...
...
@@ -154,7 +154,6 @@ namespace formula
DECL_LINK
(
FuncSelHdl
,
void
*
);
DECL_LINK
(
StructSelHdl
,
void
*
);
public
:
OModuleClient
m_aModuleClient
;
mutable
uno
::
Reference
<
sheet
::
XFormulaOpCodeMapper
>
m_xOpCodeMapper
;
uno
::
Sequence
<
sheet
::
FormulaToken
>
m_aTokenList
;
::
std
::
auto_ptr
<
FormulaTokenArray
>
m_pTokenArray
;
...
...
formula/source/ui/dlg/funcpage.hxx
Dosyayı görüntüle @
bc99f1ce
...
...
@@ -41,7 +41,7 @@
#include <boost/shared_ptr.hpp>
#include <vector>
#include "
ModuleHelper
.hxx"
#include "
formula/omoduleclient
.hxx"
//============================================================================
namespace
formula
{
...
...
formula/source/ui/dlg/omoduleclient.cxx
0 → 100644
Dosyayı görüntüle @
bc99f1ce
/* -*- 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.
*
************************************************************************/
#include "sal/config.h"
#include "formula/omoduleclient.hxx"
#include "ModuleHelper.hxx"
formula
::
OModuleClient
::
OModuleClient
()
{
OModule
::
registerClient
();
}
formula
::
OModuleClient
::~
OModuleClient
()
{
OModule
::
revokeClient
();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
formula/source/ui/dlg/parawin.hxx
Dosyayı görüntüle @
bc99f1ce
...
...
@@ -39,8 +39,8 @@
#include <vector>
#include "formula/funcutl.hxx"
#include "formula/omoduleclient.hxx"
#include "ControlHelper.hxx"
#include "ModuleHelper.hxx"
namespace
formula
{
...
...
formula/source/ui/dlg/structpg.hxx
Dosyayı görüntüle @
bc99f1ce
...
...
@@ -37,7 +37,7 @@
#include <vcl/tabctrl.hxx>
#include <svtools/svtreebx.hxx>
#include "formula/IFunctionDescription.hxx"
#include "
ModuleHelper
.hxx"
#include "
formula/omoduleclient
.hxx"
//============================================================================
...
...
formula/source/ui/inc/ModuleHelper.hxx
Dosyayı görüntüle @
bc99f1ce
...
...
@@ -39,6 +39,7 @@ namespace formula
//=========================================================================
//= OModule
//=========================================================================
class
OModuleClient
;
class
OModuleImpl
;
class
FORMULA_DLLPUBLIC
OModule
{
...
...
@@ -69,18 +70,6 @@ namespace formula
static
void
ensureImpl
();
};
//=========================================================================
//= OModuleClient
//=========================================================================
/** base class for objects which uses any global module-specific ressources
*/
class
FORMULA_DLLPUBLIC
OModuleClient
{
public
:
OModuleClient
()
{
OModule
::
registerClient
();
}
~
OModuleClient
()
{
OModule
::
revokeClient
();
}
};
//=========================================================================
//= ModuleRes
//=========================================================================
...
...
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