📄 conndetailscontainer.cpp
字号:
/* Copyright (C) 2006 Lucas Gomez All Rights Reserved.
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This software 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
// INCLUDE FILES
#include <coemain.h>
#include <barsread.h>
#include "ConnDetailsContainer.h"
#include "VncViewer.rsg"
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
// CConnDetailsContainer::NewL()
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CConnDetailsContainer* CConnDetailsContainer::NewL(const TRect& aRect)
{
CConnDetailsContainer* self = CConnDetailsContainer::NewLC(aRect);
CleanupStack::Pop(self);
return self;
}
// -----------------------------------------------------------------------------
// CConnDetailsContainer::NewLC()
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CConnDetailsContainer* CConnDetailsContainer::NewLC(const TRect& aRect)
{
CConnDetailsContainer* self = new (ELeave) CConnDetailsContainer();
CleanupStack::PushL(self);
self->ConstructL(aRect);
return self;
}
// -----------------------------------------------------------------------------
// CConnDetailsContainer::ConstructL()
// Symbian 2nd phase constructor can leave.
// -----------------------------------------------------------------------------
//
void CConnDetailsContainer::ConstructL(const TRect& aRect)
{
// Create a window for this application view
CreateWindowL();
// Set the windows size
SetRect(aRect);
// Create the Setting List
iSettingList=new (ELeave) CConnDetailsSettingList;
iSettingList->SetContainerWindowL(*this);
TResourceReader rr;
ControlEnv()->CreateResourceReaderLC(rr,R_INITIAL);
iSettingList->ConstructFromResourceL(rr);
CleanupStack::PopAndDestroy(); // rr
// Activate the window, which makes it ready to be drawn
ActivateL();
}
// -----------------------------------------------------------------------------
// CConnDetailsContainer::CConnDetailsContainer()
// C++ default constructor can NOT contain any code, that might leave.
// -----------------------------------------------------------------------------
//
CConnDetailsContainer::CConnDetailsContainer()
{
// No implementation required
}
// -----------------------------------------------------------------------------
// CConnDetailsContainer::~CConnDetailsContainer()
// Destructor.
// -----------------------------------------------------------------------------
//
CConnDetailsContainer::~CConnDetailsContainer()
{
if(iSettingList)
{
delete iSettingList;
iSettingList=NULL;
}
}
// -----------------------------------------------------------------------------
// CConnDetailsContainer::Draw()
// Draws the display.
// -----------------------------------------------------------------------------
//
void CConnDetailsContainer::Draw( const TRect& /*aRect*/ ) const
{
// Get the standard graphics context
CWindowGc& gc = SystemGc();
// Gets the control's extent
TRect drawRect( Rect());
// Clears the screen
gc.Clear( drawRect );
}
// -----------------------------------------------------------------------------
// CConnDetailsContainer::SizeChanged()
// Called by framework when the view size is changed.
// -----------------------------------------------------------------------------
//
void CConnDetailsContainer::SizeChanged()
{
DrawNow();
}
/**
* HandleControlEventL()
* Handles an event from an observed control.
* This function is called when a control for which
* this control is the observer calls CCoeControl::ReportEventL().
*
* @param CCoeControl *aControl The control that sent the event.
* @param TCoeEvent aEventType The event type.
*/
void CConnDetailsContainer::HandleControlEventL(CCoeControl* /*aControl*/, TCoeEvent /*aEventType*/)
{
// @TODO
}
/*
-----------------------------------------------------------------------------
TInt CConnDetailsContainer::CountComponentControls() const
Description: return the number of controls in the current container
Comments :
Return values: number of controls in the container
-----------------------------------------------------------------------------
*/
TInt CConnDetailsContainer::CountComponentControls() const
{
if(iSettingList)
{
return 1;
}
else
{
return 0;
}
}
/*
-----------------------------------------------------------------------------
CCoeControl* CConnDetailsContainer::ComponentControl(TInt aIndex) const
Description: return control pointer according to index
Comments :
Return values: pointer to CCoeControl object
-----------------------------------------------------------------------------
*/
CCoeControl* CConnDetailsContainer::ComponentControl(TInt aIndex) const
{
switch(aIndex)
{
case 0:
return iSettingList;
default:
return NULL;
}
}
/*
-----------------------------------------------------------------------------
TKeyResponse CConnDetailsContainer::OfferKeyEventL(
const TKeyEvent& aKeyEvent,TEventCode aType)
Description: Called by framework when a key is pressed
Comments :
Return values: whether the key has been consumed or not.
-----------------------------------------------------------------------------
*/
TKeyResponse CConnDetailsContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
{
// Let SettingList take care of its key handling
if (iSettingList)
{
return iSettingList->OfferKeyEventL(aKeyEvent,aType);
}
else
{
return EKeyWasNotConsumed;
}
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -