X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftool-bar%2Ftool-bar-impl.cpp;h=851945dd5b2441645312498dbcc754c04eb14b0f;hp=64160edd125a0ca3737e1ee83f542b9138fe3b9d;hb=84e05cec3039abe8ecaaa950d4f93dd4f94282fe;hpb=e2eda444afbe82e9591fe198eef339227f90a616 diff --git a/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp b/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp index 64160ed..851945d 100644 --- a/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp +++ b/dali-toolkit/internal/controls/tool-bar/tool-bar-impl.cpp @@ -1,27 +1,30 @@ -// -// Copyright (c) 2014 Samsung Electronics Co., Ltd. -// -// Licensed under the Flora License, Version 1.0 (the License); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://floralicense.org/license/ -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an AS IS BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ // CLASS HEADER #include "tool-bar-impl.h" +// EXTERNAL INCLUDES +#include +#include +#include + // INTERNAL INCLUDES #include -#include - -// EXTERNAL INCLUDES namespace Dali { @@ -34,12 +37,14 @@ namespace Internal namespace { + BaseHandle Create() { return Toolkit::ToolBar::New(); } -TypeRegistration mType( typeid(Toolkit::ToolBar), typeid(Toolkit::Control), Create ); +DALI_TYPE_REGISTRATION_BEGIN( Toolkit::ToolBar, Toolkit::Control, Create ) +DALI_TYPE_REGISTRATION_END() const float DEFAULT_RELATIVE_SIZE( 0.1f ); const Toolkit::Alignment::Type DEFAULT_ALIGNMENT( Toolkit::Alignment::HorizontalLeft ); @@ -50,7 +55,7 @@ Toolkit::ToolBar ToolBar::New() // Create the implementation, temporarily owned on stack IntrusivePtr< ToolBar > internalToolBar = new ToolBar(); - // Pass ownership to Toolkit::View + // Pass ownership to Toolkit::Toolbar Toolkit::ToolBar toolBar( *internalToolBar ); // Second-phase init of the implementation @@ -60,24 +65,6 @@ Toolkit::ToolBar ToolBar::New() return toolBar; } -void ToolBar::SetBackground( Actor background ) -{ - Lock lock( mInitializing ); - - // ToolBar image - background.SetParentOrigin( Dali::ParentOrigin::TOP_CENTER ); - background.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER ); - background.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) ); - - RenderableActor renderableActor = RenderableActor::DownCast( background ); - if ( renderableActor ) - { - renderableActor.SetSortModifier( 1.f ); - } - - Self().Add( background ); -} - void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment::Type alignment, const Toolkit::Alignment::Padding& padding ) { // Work out index and update bases and offsets for further insertions. @@ -117,8 +104,9 @@ void ToolBar::AddControl( Actor control, float relativeSize, Toolkit::Alignment: // Create an alignment container where to place the control. Toolkit::Alignment alignmentContainer = Toolkit::Alignment::New( alignment ); - alignmentContainer.SetScaling( Toolkit::Alignment::ScaleToFill ); + alignmentContainer.SetSizeScalePolicy( SizeScalePolicy::FIT_WITH_ASPECT_RATIO ); alignmentContainer.SetPadding( padding ); + alignmentContainer.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); alignmentContainer.Add( control ); // Insert the control in the table view. @@ -287,7 +275,7 @@ void ToolBar::RemoveControl( Actor control ) } ToolBar::ToolBar() -: ControlImpl( false ), // doesn't require touch events +: Control( ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ), mLayout(), mLeftOffset( 0 ), mCenterBase( 1 ), @@ -312,7 +300,9 @@ void ToolBar::OnInitialize() // Layout mLayout = Toolkit::TableView::New( 1, 1 ); - mLayout.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); + mLayout.SetName( "TOOLBAR_LAYOUT" ); + mLayout.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); + mLayout.SetParentOrigin( ParentOrigin::CENTER ); Self().Add( mLayout ); @@ -325,8 +315,10 @@ void ToolBar::OnInitialize() mLayout.SetRelativeWidth( 1, mRightRelativeSpace ); } -void ToolBar::OnControlChildAdd(Actor& child) +void ToolBar::OnChildAdd(Actor& child) { + Control::OnChildAdd( child ); + if( !mInitializing ) { // An actor is being added through the Actor's API. @@ -340,16 +332,11 @@ void ToolBar::OnControlChildAdd(Actor& child) AddControl( child, DEFAULT_RELATIVE_SIZE, DEFAULT_ALIGNMENT, Toolkit::ToolBar::DEFAULT_PADDING ); } - // No OnControlChildRemove method required because Actors are added to the mLayout table view, so if an + // No OnChildRemove method required because Actors are added to the mLayout table view, so if an // actor is removed using the Actor::RemoveChild method it will not remove anything because the // actor is in mLayout not in Self(). } -void ToolBar::OnRelaidOut( Vector2 size, ActorSizeContainer& container ) -{ - Relayout( mLayout, size, container ); -} - } // namespace Internal } // namespace Toolkit