Commit 26da0f73 authored by WINTZ Julien's avatar WINTZ Julien

Towards clever stylesheet parser and associated example.

parent 0de58be5
......@@ -94,6 +94,7 @@ include_directories(${CMAKE_SOURCE_DIR}/src/dtkWidgets)
## ###################################################################
add_subdirectory(src)
add_subdirectory(exp)
## ###################################################################
## Exporting
......
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/examples)
add_subdirectory(dtkWidgetsStylesheetParser)
######################################################################
### CMakeLists.txt ends here
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
project(dtkWidgetsStylesheetParser)
## #################################################################
## Sources
## #################################################################
set(${PROJECT_NAME}_SOURCES main.cpp)
## #################################################################
## Build rules
## #################################################################
add_executable(${PROJECT_NAME} ${${PROJECT_NAME}_SOURCES})
target_link_libraries(${PROJECT_NAME} Qt5::Core)
target_link_libraries(${PROJECT_NAME} dtkWidgets)
######################################################################
### CMakeLists.txt ends here
// Version: $Id$
//
//
// Commentary:
//
//
// Change Log:
//
//
// Code:
#include <QtCore>
#include <QtDebug>
#include <dtkWidgets/dtkWidgetsStylesheetParser>
int main(int argc, char **argv)
{
QCoreApplication application(argc, argv);
application.setApplicationName("dtkWidgetsStylesheetParser");
application.setApplicationVersion("0.1");
QCommandLineOption verboseOption(QStringList() << "v" << "verbose", "Print retrieved <key, value> hash.");
QCommandLineParser parser;
parser.setApplicationDescription("dtk stylesheet parser that converts .qss.less into .qss");
parser.addHelpOption();
parser.addVersionOption();
parser.addPositionalArgument("source", QCoreApplication::translate("main", "Source file to copy."));
parser.addOption(verboseOption);
parser.process(application);
const QStringList arguments = parser.positionalArguments();
if (arguments.count() < 1) {
parser.showHelp();
return 0;
}
dtkWidgetsStylesheetParser stylesheet_parser;
qDebug() << stylesheet_parser.parse(arguments.first());
if (parser.isSet(verboseOption)) {
qDebug() << "Retrieved variables:";
qDebug() << "";
// qDebug() << stylesheet_parser.hash();
}
return 0;
}
//
// main.cpp ends here
......@@ -46,6 +46,8 @@ set(${PROJECT_NAME}_HEADERS
dtkWidgetsOverlayRope.h
dtkWidgetsSettings
dtkWidgetsSettings.h
dtkWidgetsStylesheetParser
dtkWidgetsStylesheetParser.h
dtkWidgetsWidget
dtkWidgetsWidget.h)
......@@ -63,6 +65,7 @@ set(${PROJECT_NAME}_SOURCES
dtkWidgetsOverlayPaneItem.cpp
dtkWidgetsOverlayRope.cpp
dtkWidgetsSettings.cpp
dtkWidgetsStylesheetParser.cpp
dtkWidgetsWidget.cpp)
## #################################################################
......
#include "dtkWidgetsStylesheetParser.h"
// Version: $Id$
//
//
// Commentary:
//
//
// Change Log:
//
//
// Code:
#include "dtkWidgetsStylesheetParser.h"
class dtkWidgetsStylesheetParserPrivate
{
public:
QHash<QString, QString> values;
};
dtkWidgetsStylesheetParser::dtkWidgetsStylesheetParser(void)
{
d = new dtkWidgetsStylesheetParserPrivate;
}
dtkWidgetsStylesheetParser::~dtkWidgetsStylesheetParser(void)
{
delete d;
}
QString dtkWidgetsStylesheetParser::parse(const QString& stylesheet)
{
return QString();
}
//
// dtkWidgetsStylesheetParser.cpp ends here
// Version: $Id$
//
//
// Commentary:
//
//
// Change Log:
//
//
// Code:
#pragma once
#include <QtCore>
#include <dtkWidgetsExport>
class dtkWidgetsStylesheetParser : public QObject
{
Q_OBJECT
public:
dtkWidgetsStylesheetParser(void);
~dtkWidgetsStylesheetParser(void);
public slots:
QString parse(const QString&);
private:
class dtkWidgetsStylesheetParserPrivate *d;
};
//
// dtkWidgetsStylesheetParser.h ends here
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment