📄 webcoreformcontrols.h
字号:
/*
* Copyright (c) 2005 Nokia Corporation, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the Nokia Corporation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef __WEBCOREFORMCONTROLS__
#define __WEBCOREFORMCONTROLS__
// INCLUDES
#include <e32base.h>
#include <e32std.h>
#include <gdi.h>
#include "WebCoreWidget.h"
#include "WebCoreFormEvent.h"
// CONSTANTS
// MACROS
// DATA TYPES
typedef enum {
EWebCoreScrollBarHorizontal,
EWebCoreScrollBarVertical
} TWebCoreScrollBarOrientation;
typedef enum {
EWebCoreScrollBarNone,
EWebCoreScrollBarDecrementLine,
EWebCoreScrollBarIncrementLine,
EWebCoreScrollBarDecrementPage,
EWebCoreScrollBarIncrementPage,
EWebCoreScrollBarKnob
} TWebCoreScrollBarPart;
// FUNCTION PROTOTYPES
// FORWARD DECLARATIONS
class MWebCoreFormEventHandler;
// CLASS DECLARATION
/**
* interface , implemented by input skin
* @lib webcore.lib
* @since 3.0
*/
class MWebCoreInputWidget: public MWebCoreWidget
{
public:
// input/textare/password related methods
virtual void SetText(TPtrC aData)= 0;
virtual TPtrC Text()= 0;
virtual void SetMaxLength(TInt aLength)= 0;
virtual void SetHeight(TInt aHeight)= 0;
virtual TInt MaxLength()= 0;
virtual TInt Height() const = 0;
virtual TBool Edited()= 0;
virtual void SetEdited(TBool aEdited)= 0;
virtual TSize SizeForCharacterWidth(TInt aNumCharacters) const= 0;
virtual void SetSize(TInt aSize)= 0;
virtual void SetEventHandler(MWebCoreFormEventHandler* aInputEventHandler) = 0;
virtual TBool IsActive() const = 0;
virtual void DeActivate(TBool aAcceptChanges) = 0;
virtual TBool IsReadOnly() = 0;
virtual void SetReadOnly(TBool aReadOnly) = 0;
virtual TBool IsDisabled() = 0;
virtual void SetDisabled(TBool aDisabled) = 0;
virtual void SetFont (CFont* aFont) = 0;
};
/**
* interface , implemented by file input skin
* @lib webcore.lib
* @since 3.0
*/
class MWebCoreFileInputWidget: public MWebCoreWidget
{
public:
virtual void SetFileName(const TPtrC aData)= 0;
virtual TPtrC FileName()= 0;
virtual void SetEventHandler(MWebCoreFormEventHandler* aInputEventHandler) = 0;
virtual TSize SizeForCharacterWidth(TInt aNumCharacters) const= 0;
virtual void SetFont (CFont* aFont) = 0;
};
/**
* interface , implemented by button skin
* @lib webcore.lib
* @since 3.0
*/
class MWebCoreButtonWidget: public MWebCoreWidget
{
public:
virtual void SetText(TPtrC aData)= 0;
virtual TPtrC Text()= 0;
virtual TSize SizeForCharacterWidth(TInt aNumCharacters) const= 0;
virtual void SetEventHandler(MWebCoreFormEventHandler* aActivateEventHandler) = 0;
virtual void SetFont (CFont* aFont) = 0;
};
/**
* interface , implemented by checkbox skin
* @lib webcore.lib
* @since 3.0
*/
class MWebCoreCheckBoxWidget: public MWebCoreWidget
{
public:
virtual void SetChecked(TBool aIsChecked)= 0;
virtual TBool IsChecked()= 0;
virtual void SetEventHandler(MWebCoreFormEventHandler* aActivateEventHandler) = 0;
};
/**
* interface , implemented by select skin
* @lib webcore.lib
* @since 3.0
*/
class MWebCoreSelectWidget: public MWebCoreWidget
{
public:
virtual void AppendItem(TPtrC aItem, TBool aIsLabel, TBool aIsDisabled) = 0;
virtual void DoneAppendingItems() = 0;
virtual void SetSelected(TInt aIndex, TBool aSelectIt) = 0;
virtual void DoneSelectingItems() = 0;
virtual TBool IsSelected(TInt aIndex) const = 0;
virtual void SetSelectionMode(TBool aMultiple) = 0;
virtual void Clear() = 0;
virtual void ClearSelection() = 0;
// good only for combo , for listbox the function call returns the
// first selected item
virtual TInt SelectedIndex() const = 0;
virtual TSize SizeForNumberOfLines(TInt aLines) const = 0;
virtual TSize SizeForCharacterWidth(TInt aNumCharacters) const = 0;
virtual void SetEventHandler(MWebCoreFormEventHandler* aInputEventHandler) = 0;
virtual void SetFont (CFont* aFont) = 0;
};
/**
* interface, used by widget classes
* @lib webcore.lib
* @since 3.1
*/
class MWebCoreScrollBarWidget: public MWebCoreWidget
{
public:
virtual TWebCoreScrollBarOrientation Orientation() const = 0;
virtual void SetOrientation(TWebCoreScrollBarOrientation aOrientation) = 0;
virtual TReal Value() const = 0;
virtual void SetValue(TReal aValue) = 0;
virtual TReal KnobProportion() const = 0;
virtual void SetKnobProportion(TReal aValue) = 0;
virtual TWebCoreScrollBarPart ClickAtPoint(const TPoint& aPoint) = 0;
};
#endif // __WEBCOREFORMCONTROLS__
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -