Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions dali-ui-components/internal/app-bar-impl.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
* Copyright (c) 2026 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.
*
*/

// EXTERNAL INCLUDES
#include <dali/public-api/actors/actor.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/devel-api/object/property-helper-devel.h>
#include <dali-toolkit/public-api/controls/control.h>

// INTERNAL INCLUDES
#include <dali-ui-components/internal/app-bar-impl.h>

namespace Dali
{

namespace UI
{

namespace Internal
{

UI::AppBar AppBarImpl::New()
{
IntrusivePtr<Internal::AppBarImpl> impl = new Internal::AppBarImpl();
UI::AppBar handle = UI::AppBar(*impl);
impl->Initialize();
return handle;
}

AppBarImpl::AppBarImpl()
: ViewImpl()
{
}

AppBarImpl::~AppBarImpl()
{
}

} // namespace Internal

} // namespace UI

} // namespace Dali
88 changes: 88 additions & 0 deletions dali-ui-components/internal/app-bar-impl.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#pragma once

/*
* Copyright (c) 2026 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.
*
*/

// EXTERNAL INCLUDES
#include <dali-ui-foundation/integration-api/view-impl.h>

// INTERNAL INCLUDES
#include <dali-ui-components/public-api/app-bar.h>

namespace Dali
{

namespace UI
{

namespace Internal
{

/**
* @brief This is the internal implementation class for AppBar.
*/
class AppBarImpl : public Integration::ViewImpl
{
public:

// Creation & Destruction

static UI::AppBar New();

protected:

virtual ~AppBarImpl();

public:

// API

protected:

// Construction
AppBarImpl();

private:

// Not copyable or movable
AppBarImpl(const AppBarImpl&) = delete;
AppBarImpl(AppBarImpl&&) = delete;
AppBarImpl& operator=(const AppBarImpl&) = delete;
AppBarImpl& operator=(AppBarImpl&&) = delete;
};

// Helpers for public-api forwarding methods

inline Internal::AppBarImpl& GetImpl(UI::AppBar& view)
{
DALI_ASSERT_ALWAYS(view);
Dali::RefObject& handle = view.GetImplementation();
return static_cast<Internal::AppBarImpl&>(handle);
}

inline const Internal::AppBarImpl& GetImpl(const UI::AppBar& view)
{
DALI_ASSERT_ALWAYS(view);
const Dali::RefObject& handle = view.GetImplementation();
return static_cast<const Internal::AppBarImpl&>(handle);
}

} // namespace Internal

} // namespace UI

} // namespace Dali
57 changes: 57 additions & 0 deletions dali-ui-components/internal/content-page-impl.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
* Copyright (c) 2026 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.
*
*/

// EXTERNAL INCLUDES
#include <dali/public-api/actors/actor.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/devel-api/object/property-helper-devel.h>
#include <dali-toolkit/public-api/controls/control.h>

// INTERNAL INCLUDES
#include <dali-ui-components/internal/content-page-impl.h>

namespace Dali
{

namespace UI
{

namespace Internal
{

UI::ContentPage ContentPageImpl::New()
{
IntrusivePtr<Internal::ContentPageImpl> impl = new Internal::ContentPageImpl();
UI::ContentPage handle = UI::ContentPage(*impl);
impl->Initialize();
return handle;
}

ContentPageImpl::ContentPageImpl()
: PageImpl()
{
}

ContentPageImpl::~ContentPageImpl()
{
}

} // namespace Internal

} // namespace UI

} // namespace Dali
88 changes: 88 additions & 0 deletions dali-ui-components/internal/content-page-impl.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#pragma once

/*
* Copyright (c) 2026 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.
*
*/

// EXTERNAL INCLUDES
#include <dali-ui-components/internal/page-impl.h>

// INTERNAL INCLUDES
#include <dali-ui-components/public-api/content-page.h>

namespace Dali
{

namespace UI
{

namespace Internal
{

/**
* @brief This is the internal implementation class for ContentPage.
*/
class ContentPageImpl : public PageImpl
{
public:

// Creation & Destruction

static UI::ContentPage New();

protected:

virtual ~ContentPageImpl();

public:

// API

protected:

// Construction
ContentPageImpl();

private:

// Not copyable or movable
ContentPageImpl(const ContentPageImpl&) = delete;
ContentPageImpl(ContentPageImpl&&) = delete;
ContentPageImpl& operator=(const ContentPageImpl&) = delete;
ContentPageImpl& operator=(ContentPageImpl&&) = delete;
};

// Helpers for public-api forwarding methods

inline Internal::ContentPageImpl& GetImpl(UI::ContentPage& view)
{
DALI_ASSERT_ALWAYS(view);
Dali::RefObject& handle = view.GetImplementation();
return static_cast<Internal::ContentPageImpl&>(handle);
}

inline const Internal::ContentPageImpl& GetImpl(const UI::ContentPage& view)
{
DALI_ASSERT_ALWAYS(view);
const Dali::RefObject& handle = view.GetImplementation();
return static_cast<const Internal::ContentPageImpl&>(handle);
}

} // namespace Internal

} // namespace UI

} // namespace Dali
57 changes: 57 additions & 0 deletions dali-ui-components/internal/dialog-page-impl.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
* Copyright (c) 2026 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.
*
*/

// EXTERNAL INCLUDES
#include <dali/public-api/actors/actor.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/devel-api/object/property-helper-devel.h>
#include <dali-toolkit/public-api/controls/control.h>

// INTERNAL INCLUDES
#include <dali-ui-components/internal/dialog-page-impl.h>

namespace Dali
{

namespace UI
{

namespace Internal
{

UI::DialogPage DialogPageImpl::New()
{
IntrusivePtr<Internal::DialogPageImpl> impl = new Internal::DialogPageImpl();
UI::DialogPage handle = UI::DialogPage(*impl);
impl->Initialize();
return handle;
}

DialogPageImpl::DialogPageImpl()
: PageImpl()
{
}

DialogPageImpl::~DialogPageImpl()
{
}

} // namespace Internal

} // namespace UI

} // namespace Dali
Loading
Loading