office-gobmx/framework/source/loadenv/targethelper.cxx
2011-11-27 13:11:33 -06:00

106 lines
3.5 KiB
C++

/* -*- 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.
*
************************************************************************/
//_______________________________________________
// own includes
#include <loadenv/targethelper.hxx>
//_______________________________________________
// namespace
namespace framework{
//_______________________________________________
// declarations
/*-----------------------------------------------
05.08.2003 09:08
-----------------------------------------------*/
sal_Bool TargetHelper::matchSpecialTarget(const ::rtl::OUString& sCheckTarget ,
ESpecialTarget eSpecialTarget)
{
switch(eSpecialTarget)
{
case E_SELF :
return (
(!sCheckTarget.getLength() ) ||
(sCheckTarget.equals(SPECIALTARGET_SELF))
);
case E_PARENT :
return (sCheckTarget.equals(SPECIALTARGET_PARENT));
case E_TOP :
return (sCheckTarget.equals(SPECIALTARGET_TOP));
case E_BLANK :
return (sCheckTarget.equals(SPECIALTARGET_BLANK));
case E_DEFAULT :
return (sCheckTarget.equals(SPECIALTARGET_DEFAULT));
case E_BEAMER :
return (sCheckTarget.equals(SPECIALTARGET_BEAMER));
case E_MENUBAR :
return (sCheckTarget.equals(SPECIALTARGET_MENUBAR));
case E_HELPAGENT :
return (sCheckTarget.equals(SPECIALTARGET_HELPAGENT));
case E_HELPTASK :
return (sCheckTarget.equals(SPECIALTARGET_HELPTASK));
default:
return sal_False;
}
}
/*-----------------------------------------------
05.08.2003 09:17
-----------------------------------------------*/
sal_Bool TargetHelper::isValidNameForFrame(const ::rtl::OUString& sName)
{
// some special targets are realy special ones :-)
// E.g. the are realy used to locate one frame inside the frame tree.
if (
(!sName.getLength() ) ||
(TargetHelper::matchSpecialTarget(sName, E_HELPTASK)) ||
(TargetHelper::matchSpecialTarget(sName, E_BEAMER) )
)
return sal_True;
// all other names must be checked more general
// special targets starts with a "_".
return (sName.indexOf('_') != 0);
}
} // namespace framework
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */