⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conndetailscontainer.cpp

📁 vncviewer_source_1.0
💻 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 + -