Add a (basic) QPalette
This commit is contained in:
parent
978526c4e6
commit
17462abae7
@ -63,6 +63,7 @@ add_library(${CORE_WIDGETS_ADDON} SHARED
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QCursor/qcursor_wrap.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QKeySequence/qkeysequence_wrap.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QMovie/qmovie_wrap.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QPalette/qpalette_wrap.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtGui/QStyle/qstyle_wrap.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtCore/QDate/qdate_wrap.cpp"
|
||||
"${PROJECT_SOURCE_DIR}/src/cpp/lib/QtCore/QDateTime/qdatetime_wrap.cpp"
|
||||
|
||||
@ -28,6 +28,8 @@ class DLL_EXPORT QApplicationWrap : public Napi::ObjectWrap<QApplicationWrap> {
|
||||
Napi::Value exit(const Napi::CallbackInfo& info);
|
||||
Napi::Value setQuitOnLastWindowClosed(const Napi::CallbackInfo& info);
|
||||
Napi::Value quitOnLastWindowClosed(const Napi::CallbackInfo& info);
|
||||
Napi::Value palette(const Napi::CallbackInfo& info);
|
||||
// setStyleSheet
|
||||
};
|
||||
|
||||
namespace StaticQApplicationWrapMethods {
|
||||
|
||||
24
src/cpp/include/nodegui/QtGui/QPalette/qpalette_wrap.h
Normal file
24
src/cpp/include/nodegui/QtGui/QPalette/qpalette_wrap.h
Normal file
@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
#include <napi.h>
|
||||
|
||||
#include <QPalette>
|
||||
|
||||
#include "Extras/Export/export.h"
|
||||
#include "core/Component/component_macro.h"
|
||||
|
||||
class DLL_EXPORT QPaletteWrap : public Napi::ObjectWrap<QPaletteWrap> {
|
||||
COMPONENT_WRAPPED_METHODS_DECLARATION
|
||||
private:
|
||||
std::unique_ptr<QPalette> instance;
|
||||
|
||||
public:
|
||||
static Napi::FunctionReference constructor;
|
||||
static Napi::Object init(Napi::Env env, Napi::Object exports);
|
||||
QPaletteWrap(const Napi::CallbackInfo& info);
|
||||
~QPaletteWrap();
|
||||
QPalette* getInternalInstance();
|
||||
|
||||
// Wrapped methods
|
||||
Napi::Value color(const Napi::CallbackInfo& info);
|
||||
};
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
#include "Extras/Utils/nutils.h"
|
||||
#include "QtGui/QClipboard/qclipboard_wrap.h"
|
||||
#include "QtGui/QPalette/qpalette_wrap.h"
|
||||
#include "QtGui/QStyle/qstyle_wrap.h"
|
||||
#include "core/Integration/qode-api.h"
|
||||
|
||||
@ -20,6 +21,7 @@ Napi::Object QApplicationWrap::init(Napi::Env env, Napi::Object exports) {
|
||||
&QApplicationWrap::setQuitOnLastWindowClosed),
|
||||
InstanceMethod("quitOnLastWindowClosed",
|
||||
&QApplicationWrap::quitOnLastWindowClosed),
|
||||
InstanceMethod("palette", &QApplicationWrap::palette),
|
||||
StaticMethod("instance", &StaticQApplicationWrapMethods::instance),
|
||||
StaticMethod("clipboard", &StaticQApplicationWrapMethods::clipboard),
|
||||
StaticMethod("style", &StaticQApplicationWrapMethods::style),
|
||||
@ -81,6 +83,15 @@ Napi::Value QApplicationWrap::exit(const Napi::CallbackInfo& info) {
|
||||
return env.Null();
|
||||
}
|
||||
|
||||
Napi::Value QApplicationWrap::palette(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
Napi::HandleScope scope(env);
|
||||
|
||||
QPalette* palette = new QPalette(this->instance->palette());
|
||||
return QPaletteWrap::constructor.New(
|
||||
{Napi::External<QPalette>::New(env, palette)});
|
||||
}
|
||||
|
||||
Napi::Value StaticQApplicationWrapMethods::instance(
|
||||
const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
|
||||
58
src/cpp/lib/QtGui/QPalette/qpalette_wrap.cpp
Normal file
58
src/cpp/lib/QtGui/QPalette/qpalette_wrap.cpp
Normal file
@ -0,0 +1,58 @@
|
||||
#include "QtGui/QPalette/qpalette_wrap.h"
|
||||
|
||||
#include "Extras/Utils/nutils.h"
|
||||
#include "QtCore/QVariant/qvariant_wrap.h"
|
||||
#include "QtGui/QBrush/qbrush_wrap.h"
|
||||
#include "QtGui/QColor/qcolor_wrap.h"
|
||||
#include "QtGui/QPixmap/qpixmap_wrap.h"
|
||||
|
||||
Napi::FunctionReference QPaletteWrap::constructor;
|
||||
|
||||
Napi::Object QPaletteWrap::init(Napi::Env env, Napi::Object exports) {
|
||||
Napi::HandleScope scope(env);
|
||||
char CLASSNAME[] = "QPen";
|
||||
Napi::Function func =
|
||||
DefineClass(env, CLASSNAME,
|
||||
{InstanceMethod("color", &QPaletteWrap::color),
|
||||
COMPONENT_WRAPPED_METHODS_EXPORT_DEFINE(QPaletteWrap)});
|
||||
constructor = Napi::Persistent(func);
|
||||
exports.Set(CLASSNAME, func);
|
||||
return exports;
|
||||
}
|
||||
|
||||
QPaletteWrap::QPaletteWrap(const Napi::CallbackInfo& info)
|
||||
: Napi::ObjectWrap<QPaletteWrap>(info) {
|
||||
Napi::Env env = info.Env();
|
||||
Napi::HandleScope scope(env);
|
||||
|
||||
if (info.Length() == 0) {
|
||||
this->instance = std::make_unique<QPalette>();
|
||||
} else if (info.Length() == 1) {
|
||||
this->instance = std::unique_ptr<QPalette>(
|
||||
info[0].As<Napi::External<QPalette>>().Data());
|
||||
} else {
|
||||
Napi::TypeError::New(env, "Wrong number of arguments")
|
||||
.ThrowAsJavaScriptException();
|
||||
}
|
||||
this->rawData = extrautils::configureComponent(this->getInternalInstance());
|
||||
}
|
||||
|
||||
QPaletteWrap::~QPaletteWrap() { this->instance.reset(); }
|
||||
|
||||
QPalette* QPaletteWrap::getInternalInstance() { return this->instance.get(); }
|
||||
|
||||
Napi::Value QPaletteWrap::color(const Napi::CallbackInfo& info) {
|
||||
Napi::Env env = info.Env();
|
||||
Napi::HandleScope scope(env);
|
||||
|
||||
QPalette::ColorGroup colorGroup = static_cast<QPalette::ColorGroup>(
|
||||
info[0].As<Napi::Number>().Int32Value());
|
||||
QPalette::ColorRole colorRole =
|
||||
static_cast<QPalette::ColorRole>(info[1].As<Napi::Number>().Int32Value());
|
||||
|
||||
QColor color = this->instance->color(colorGroup, colorRole);
|
||||
|
||||
auto instance = QColorWrap::constructor.New(
|
||||
{Napi::External<QColor>::New(env, new QColor(color))});
|
||||
return instance;
|
||||
}
|
||||
@ -37,6 +37,7 @@
|
||||
#include "QtGui/QImage/qimage_wrap.h"
|
||||
#include "QtGui/QKeySequence/qkeysequence_wrap.h"
|
||||
#include "QtGui/QMovie/qmovie_wrap.h"
|
||||
#include "QtGui/QPalette/qpalette_wrap.h"
|
||||
#include "QtGui/QPen/qpen_wrap.h"
|
||||
#include "QtGui/QPicture/qpicture_wrap.h"
|
||||
#include "QtGui/QPixmap/qpixmap_wrap.h"
|
||||
@ -218,6 +219,7 @@ Napi::Object Main(Napi::Env env, Napi::Object exports) {
|
||||
QSvgWidgetWrap::init(env, exports);
|
||||
QDesktopWidgetWrap::init(env, exports);
|
||||
QPaintEventWrap::init(env, exports);
|
||||
QPaletteWrap::init(env, exports);
|
||||
return exports;
|
||||
}
|
||||
|
||||
|
||||
@ -13,6 +13,7 @@ export { QIcon, QIconMode, QIconState } from './lib/QtGui/QIcon';
|
||||
export { QImage, QImageFormat } from './lib/QtGui/QImage';
|
||||
export { QFont, QFontCapitalization, QFontStretch, QFontWeight } from './lib/QtGui/QFont';
|
||||
export { QMovie, CacheMode, MovieState } from './lib/QtGui/QMovie';
|
||||
export { QPalette, ColorGroup, ColorRole } from './lib/QtGui/QPalette';
|
||||
export { QCursor } from './lib/QtGui/QCursor';
|
||||
export { QTextOptionWrapMode } from './lib/QtGui/QTextOption';
|
||||
export { QClipboard, QClipboardMode } from './lib/QtGui/QClipboard';
|
||||
|
||||
@ -5,6 +5,7 @@ import { QClipboard } from './QClipboard';
|
||||
import { QStyle } from './QStyle';
|
||||
import { QObjectSignals, NodeObject } from '../QtCore/QObject';
|
||||
import { QDesktopWidget } from '../QtWidgets/QDesktopWidget';
|
||||
import { QPalette } from './QPalette';
|
||||
|
||||
/**
|
||||
|
||||
@ -62,6 +63,9 @@ export class QApplication extends NodeObject<QApplicationSignals> {
|
||||
quitOnLastWindowClosed(): boolean {
|
||||
return this.native.quitOnLastWindowClosed();
|
||||
}
|
||||
palette(): QPalette {
|
||||
return new QPalette(this.native.palette());
|
||||
}
|
||||
static style(): QStyle {
|
||||
return new QStyle(addon.QApplication.style());
|
||||
}
|
||||
|
||||
45
src/lib/QtGui/QPalette.ts
Normal file
45
src/lib/QtGui/QPalette.ts
Normal file
@ -0,0 +1,45 @@
|
||||
import { Component, NativeElement } from '../core/Component';
|
||||
import { QColor } from './QColor';
|
||||
|
||||
export enum ColorGroup {
|
||||
Disabled = 1,
|
||||
Active = 0,
|
||||
Inactive = 2,
|
||||
Normal = 0,
|
||||
}
|
||||
|
||||
export enum ColorRole {
|
||||
WindowText = 0,
|
||||
Button = 1,
|
||||
Light = 2,
|
||||
Midlight = 3,
|
||||
Dark = 4,
|
||||
Mid = 5,
|
||||
Text = 6,
|
||||
BrightText = 7,
|
||||
ButtonText = 8,
|
||||
Base = 9,
|
||||
Window = 10,
|
||||
Shadow = 11,
|
||||
Highlight = 12,
|
||||
HighlightedText = 13,
|
||||
Link = 14,
|
||||
LinkVisited = 15,
|
||||
AlternateBase = 16,
|
||||
NoRole = 17,
|
||||
ToolTipBase = 18,
|
||||
ToolTipText = 19,
|
||||
PlaceholderText = 20,
|
||||
}
|
||||
|
||||
export class QPalette extends Component {
|
||||
native: NativeElement;
|
||||
constructor(native: NativeElement) {
|
||||
super();
|
||||
this.native = native;
|
||||
}
|
||||
|
||||
color(group: ColorGroup, role: ColorRole): QColor {
|
||||
return new QColor(this.native.color(group, role));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user