From 51fc78c7e7517c9f014e3b54e0a63aeb8f476921 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Sat, 23 Dec 2017 14:30:48 +0100 Subject: [PATCH] CComponentsWindow: add method to set background image in window classes - setBodyBGImage() exists as member of base class CCDraw and had no visual effect in this class, because visibility of window container is disabled. This additional member overloads the original methode and is using functionality from window body object. Example for buildinfo added. TODO: - background behavior of embedded objects must be global adapted if a background image is used --- src/gui/buildinfo.cpp | 3 ++- src/gui/components/cc_frm_window.cpp | 7 ++++++- src/gui/components/cc_frm_window.h | 8 +++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/gui/buildinfo.cpp b/src/gui/buildinfo.cpp index e7e98785b..a10ce8388 100644 --- a/src/gui/buildinfo.cpp +++ b/src/gui/buildinfo.cpp @@ -3,7 +3,7 @@ Copyright (C) 2001 by Steffen Hehn 'McClean' Copyright (C) 2013, M. Liebmann 'micha-bbg' - Copyright (C) 2013-2014, Thilo Graf 'dbt' + Copyright (C) 2013-2017, Thilo Graf 'dbt' License: GPL @@ -40,6 +40,7 @@ using namespace std; CBuildInfo::CBuildInfo(bool show) : CComponentsWindow(0, 0, CCW_PERCENT 85, CCW_PERCENT 85, LOCALE_BUILDINFO_MENU, NEUTRINO_ICON_INFO) { initVarBuildInfo(); + setBodyBGImage(DATADIR "/neutrino/icons/start.jpg"); if (show) exec(NULL, ""); else diff --git a/src/gui/components/cc_frm_window.cpp b/src/gui/components/cc_frm_window.cpp index f23245147..8e39ec97b 100644 --- a/src/gui/components/cc_frm_window.cpp +++ b/src/gui/components/cc_frm_window.cpp @@ -3,7 +3,7 @@ Copyright (C) 2001 by Steffen Hehn 'McClean' Classes for generic GUI-related components. - Copyright (C) 2012-2016 Thilo Graf 'dbt' + Copyright (C) 2012-2017 Thilo Graf 'dbt' Copyright (C) 2012, Michael Liebmann 'micha-bbg' License: GPL @@ -444,3 +444,8 @@ void CComponentsWindow::paint(bool do_save_bg) //paint form contents paintForm(do_save_bg); } + +bool CComponentsWindow::setBodyBGImage(const std::string& image_path) +{ + return getBodyObject()->setBodyBGImage(image_path); +} diff --git a/src/gui/components/cc_frm_window.h b/src/gui/components/cc_frm_window.h index 6dfe67df8..3e2658db5 100644 --- a/src/gui/components/cc_frm_window.h +++ b/src/gui/components/cc_frm_window.h @@ -3,7 +3,7 @@ Copyright (C) 2001 by Steffen Hehn 'McClean' Classes for generic GUI-related components. - Copyright (C) 2012-2016, Thilo Graf 'dbt' + Copyright (C) 2012-2017, Thilo Graf 'dbt' License: GPL @@ -435,6 +435,12 @@ class CComponentsWindow : public CComponentsForm, CCHeaderTypes * @note use addExitKey() if new exec key is required */ virtual void removeExitKeys(){getBodyObject()->removeExitKeys();} + + /** + * Sets an image for window background. + * @note The assigned image is assigned into body object! Main container, header and footer will be not touched. + */ + bool setBodyBGImage(const std::string& image_path); }; class CComponentsWindowMax : public CComponentsWindow