Discussion Board

Results 1 to 15 of 20

Hybrid View

  1. #1
    Registered User asadi.alireza's Avatar
    Join Date
    Oct 2010
    Posts
    37
    hi there,

    I've got a Label in my simple UI application, when I call SetTextL of the Label at run time, nothing changes!!
    here you are my code :

    Code:
    void CTestUIContainer::setStatus(const TDesC& value){
    	iLabel1->SetTextL(value);
    }
    And I call the above method from the CtestUIContainerView::HandleCommandL when a menu get selected as code below :

    Code:
    iTestUIContainer->setStatus(_L("Waiting..."));
    by the way when I put the changing label code at the following method which runs at the initiate loading, it works:


    Code:
    void CTestUIContainer::LayoutControls()
    	{
    	iLabel1->SetExtent( TPoint( 0, 2 ), TSize( 235, 119 ) );
    	iLabel1->SetTextL(_L("Started..."));
    	}

    does anyone know what is wrong with my code? :(

  2. #2
    Nokia Developer Expert symbianyucca's Avatar
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    28,671
    Try calling DrawNow() after changing the value.

  3. #3
    Registered User asadi.alireza's Avatar
    Join Date
    Oct 2010
    Posts
    37
    Thanks for your prompt reply,

    I have changed my code to the following one :

    Code:
    void CTestUIContainer::setStatus(const TDesC& value){
    	iLabel1->SetTextL(value);
    	DrawNow();
    }
    but doesn't work again... :(

  4. #4
    Nokia Developer Expert symbianyucca's Avatar
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    28,671
    Are you implementing the Count components etc. functions in the CTestUIContainer. so the system would know how many controls there are inside the container, and would also be able to get pointers for them to get them drawn correctly ?

  5. #5
    Nokia Developer Champion vineet.jain's Avatar
    Join Date
    Jun 2008
    Location
    Noida,India
    Posts
    3,840
    how about this:

    Code:
    void CTestUIContainer::setStatus(const TDesC& value){
    iLabel1->SetExtent( TPoint( 0, 2 ), TSize( 235, 119 ) );
    	iLabel1->SetTextL(value);
    	DrawNow();
    }

  6. #6
    Nokia Developer Expert symbianyucca's Avatar
    Join Date
    Mar 2003
    Location
    Lempäälä/Finland
    Posts
    28,671
    should not really help if ComponentControl(TInt) & CountComponentControls() functions are not implemented in the container.

  7. #7
    Nokia Developer Champion vineet.jain's Avatar
    Join Date
    Jun 2008
    Location
    Noida,India
    Posts
    3,840
    Quote Originally Posted by symbianyucca View Post
    should not really help if ComponentControl(TInt) & CountComponentControls() functions are not implemented in the container.
    but i think the label wouldn't be visible first time as well if these functions are not implemented.

  8. #8
    Registered User asadi.alireza's Avatar
    Join Date
    Oct 2010
    Posts
    37
    Quote Originally Posted by symbianyucca View Post
    should not really help if ComponentControl(TInt) & CountComponentControls() functions are not implemented in the container.
    yes, I've got the mentioned methods in Container :

    Code:
    /**
    * Return the number of controls in the container (override)
    * @return count
    */
    TInt CTestUIContainer::CountComponentControls() const
    	{
    	return ( int ) ELastControl;
    	}
    				
    /**
    * Get the control with the given index (override)
    * @param aIndex Control index [0...n) (limited by #CountComponentControls)
    * @return Pointer to control
    */
    CCoeControl* CTestUIContainer::ComponentControl( TInt aIndex ) const
    	{
    	// [[[ begin generated region: do not modify [Generated Contents]
    	switch ( aIndex )
    		{
    		case ELabel1:
    			return iLabel1;
    		}
    	// ]]] end generated region [Generated Contents]
    	
    	// handle any user controls here...
    	
    	return NULL;
    	}

  9. #9
    Nokia Developer Champion vineet.jain's Avatar
    Join Date
    Jun 2008
    Location
    Noida,India
    Posts
    3,840
    have you implemented the SizeChanged() method ?

  10. #10
    Registered User asadi.alireza's Avatar
    Join Date
    Oct 2010
    Posts
    37
    It doesn't work either :(((((

    Quote Originally Posted by vineet.jain View Post
    how about this:

    Code:
    void CTestUIContainer::setStatus(const TDesC& value){
    iLabel1->SetExtent( TPoint( 0, 2 ), TSize( 235, 119 ) );
    	iLabel1->SetTextL(value);
    	DrawNow();
    }

  11. #11
    Registered User asadi.alireza's Avatar
    Join Date
    Oct 2010
    Posts
    37
    I've found a point,

    just after changing the label I place a socket accept implementation :

    Code:
    			iTestUIContainer->setStatus(_L("Waiting..."));
    
    			RSocket acceptSock;
    			User::LeaveIfError(acceptSock.Open(iSocketServ));
    			iSocket->Accept(acceptSock, aStatus);
    			User::WaitForRequest(aStatus);
    :

    when I remove the socket part(the red part), it works correctly and change the label, any clue why it behaves this way??!!! and why i cannot change the label when I am waiting for a incoming socket???!!!

Similar Threads

  1. SetTextL problem
    By joteddy123 in forum Symbian User Interface
    Replies: 2
    Last Post: 2009-03-24, 12:27
  2. How to use SetTextL() in CAknSettingItemList
    By saheb04 in forum Symbian C++
    Replies: 2
    Last Post: 2007-09-20, 06:24
  3. EEikEdwinUserSuppliedText and SetTextL
    By jbylund in forum Symbian User Interface
    Replies: 1
    Last Post: 2005-10-05, 03:23
  4. SetTextL() on target
    By yaront in forum Symbian User Interface
    Replies: 0
    Last Post: 2005-01-24, 19:46
  5. SetTextL()
    By jesusdol in forum Symbian User Interface
    Replies: 1
    Last Post: 2004-01-27, 18:44

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved