Skip to content

Commit

Permalink
UI|Widgets|libappfw: Styling a label for empty menus
Browse files Browse the repository at this point in the history
  • Loading branch information
skyjake committed Feb 26, 2017
1 parent 3180b05 commit 238fe19
Show file tree
Hide file tree
Showing 6 changed files with 99 additions and 10 deletions.
38 changes: 38 additions & 0 deletions doomsday/apps/client/include/ui/clientstyle.h
@@ -0,0 +1,38 @@
/** @file clientstyle.h Client UI style.
*
* @authors Copyright (c) 2017 Jaakko Keränen <jaakko.keranen@iki.fi>
*
* @par License
* GPL: http://www.gnu.org/licenses/gpl.html
*
* <small>This program 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 program 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 program; if not, see:
* http://www.gnu.org/licenses</small>
*/

#ifndef DENG_CLIENT_UI_CLIENTSTYLE_H
#define DENG_CLIENT_UI_CLIENTSTYLE_H

#include <de/Style>
#include <de/GuiWidget>
#include <de/ui/Stylist>

class ClientStyle : public de::Style
{
public:
ClientStyle();

de::GuiWidget *sharedBlurWidget() const;
de::ui::Stylist &emptyMenuLabelStylist() const;

private:
DENG2_PRIVATE(d)
};

#endif // DENG_CLIENT_UI_CLIENTSTYLE_H
1 change: 1 addition & 0 deletions doomsday/apps/client/include/ui/clientwindowsystem.h
Expand Up @@ -20,6 +20,7 @@
#define DENG_CLIENTWINDOWSYSTEM_H

#include <de/WindowSystem>
#include <de/ui/Stylist>
#include "ConfigProfiles"

#undef main
Expand Down
Expand Up @@ -120,6 +120,12 @@ font small inherits default {
size $: gui.scale(self.size, 0.75)
}

menu {
font empty inherits heading {
weight: bold
}
}

editor {
font plaintext inherits default {}
font hint.default inherits default {
Expand Down
51 changes: 51 additions & 0 deletions doomsday/apps/client/src/ui/clientstyle.cpp
@@ -0,0 +1,51 @@
/** @file clientstyle.cpp Client UI style.
*
* @authors Copyright (c) 2017 Jaakko Keränen <jaakko.keranen@iki.fi>
*
* @par License
* GPL: http://www.gnu.org/licenses/gpl.html
*
* <small>This program 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 program 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 program; if not, see:
* http://www.gnu.org/licenses</small>
*/

#include "ui/clientstyle.h"
#include "ui/clientwindow.h"

using namespace de;

DENG2_PIMPL_NOREF(ClientStyle)
{
struct EmptyMenuLabelStylist : public ui::Stylist
{
void applyStyle(GuiWidget &widget) override
{
LabelWidget &label = widget.as<LabelWidget>();
label.setFont("menu.empty");
label.setOpacity(0.5f);
}
}
emptyMenuLabelStylist;
};

ClientStyle::ClientStyle() : d(new Impl)
{}

GuiWidget *ClientStyle::sharedBlurWidget() const
{
if (!ClientWindow::mainExists()) return nullptr;
return &ClientWindow::main().taskBarBlur();
}

ui::Stylist &ClientStyle::emptyMenuLabelStylist() const
{
return d->emptyMenuLabelStylist;
}

11 changes: 1 addition & 10 deletions doomsday/apps/client/src/ui/clientwindowsystem.cpp
Expand Up @@ -18,6 +18,7 @@

#include "de_platform.h"
#include "ui/clientwindowsystem.h"
#include "ui/clientstyle.h"
#include "clientapp.h"
#include "dd_main.h"
#include "gl/gl_main.h"
Expand All @@ -30,16 +31,6 @@ DENG2_PIMPL(ClientWindowSystem)
{
ConfigProfiles settings;

struct ClientStyle : public Style {
/*bool isBlurringAllowed() const {
return !App_GameLoaded();
}*/
GuiWidget *sharedBlurWidget() const {
if (!ClientWindow::mainExists()) return nullptr;
return &ClientWindow::main().taskBarBlur();
}
};

Impl(Public *i)
: Base(i)
{
Expand Down
2 changes: 2 additions & 0 deletions doomsday/sdk/libappfw/include/de/framework/style.h
Expand Up @@ -41,6 +41,8 @@ class LIBAPPFW_PUBLIC Style
Style();
virtual ~Style();

DENG2_AS_IS_METHODS()

/**
* Loads a style from a resource pack.
*
Expand Down

0 comments on commit 238fe19

Please sign in to comment.