Skip to content

Commit

Permalink
repo: initial commit
Browse files Browse the repository at this point in the history
initial commit of ribbon project in its own repository, previously it was located at https://github.com/fizzyade/pingnoo.
  • Loading branch information
fizzyade committed Dec 2, 2020
0 parents commit 32193f5
Show file tree
Hide file tree
Showing 96 changed files with 7,079 additions and 0 deletions.
74 changes: 74 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

.DS_Store

8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

147 changes: 147 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
#
# Copyright (C) 2020 Adrian Carpenter
#
# https://github.com/fizzyade
#
# Created by Adrian Carpenter on 07/11/2020.
#
# 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 3 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/>.
#

# set up general cmake settings (common to the ribbon library and the designer plugin)

cmake_minimum_required(VERSION 3.10)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

ADD_DEFINITIONS(-DQT_NO_KEYWORDS)

set(NEDRYSOFT_LIBRARY_RIBBON_EXPORT)

# create the ribbon library

project(Ribbon)

set(library_SOURCES
RibbonCheckBox.cpp
RibbonCheckBox.h
RibbonComboBox.cpp
RibbonComboBox.h
RibbonDropButton.cpp
RibbonDropButton.h
RibbonFontManager.cpp
RibbonFontManager.h
RibbonGroup.cpp
RibbonGroup.h
RibbonLineEdit.cpp
RibbonLineEdit.h
RibbonPushButton.cpp
RibbonPushButton.h
RibbonResources.qrc
RibbonSlider.cpp
RibbonSlider.h
RibbonSpec.h
RibbonTabBar.cpp
RibbonTabBar.h
RibbonToolButton.cpp
RibbonToolButton.h
RibbonToolButtonPlugin.cpp
RibbonToolButtonPlugin.h
RibbonWidget.cpp
RibbonWidget.h
ThemeSupport.h
ThemeSupport.mm
)

add_library(${PROJECT_NAME} SHARED
${library_SOURCES}
)

find_package(Qt5 COMPONENTS Widgets REQUIRED)

target_link_libraries(${PROJECT_NAME} "-framework AppKit" "-framework Cocoa")

target_link_libraries(${PROJECT_NAME} -lstdc++ -lobjc)

target_link_libraries(${PROJECT_NAME} "Qt5::Widgets")

if(DEFINED NEDRYSOFT_RIBBON_LIBRARY_DIR)
set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${NEDRYSOFT_RIBBON_LIBRARY_DIR}")
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${NEDRYSOFT_RIBBON_LIBRARY_DIR}")
else()
message(STATUS "Set NEDRYSOFT_RIBBON_LIBRARY_DIR to set the binary output dir.")
endif()

# designer widgets

option(NEDRYSOFT_RIBBON_BUILD_DESIGNER_PLUGIN "Build Ribbon QtDesigner Plugin" OFF)

if(NEDRYSOFT_RIBBON_BUILD_DESIGNER_PLUGIN)
project(Nedrysoft.Ribbon)

add_definitions(-DNEDRYSOFT_RIBBON_DESIGNER_EXPORT)

find_package(Qt5 COMPONENTS Widgets UiPlugin REQUIRED)

add_library(${PROJECT_NAME} SHARED
${library_SOURCES}
RibbonCheckBoxPlugin.cpp
RibbonCheckBoxPlugin.h
RibbonComboBoxPlugin.cpp
RibbonComboBoxPlugin.h
RibbonDropButtonPlugin.cpp
RibbonDropButtonPlugin.h
RibbonGroupPlugin.cpp
RibbonGroupPlugin.h
RibbonLineEditPlugin.cpp
RibbonLineEditPlugin.h
RibbonPushButtonPlugin.cpp
RibbonPushButtonPlugin.h
RibbonWidgetsCollection.cpp
RibbonWidgetsCollection.h
RibbonWidgetPlugin.cpp
RibbonWidgetPlugin.h
)

if(APPLE)
target_sources(${PROJECT_NAME} "PRIVATE"
ThemeSupport.mm
ThemeSupport.h
)
endif()

target_link_libraries(${PROJECT_NAME} Qt5::Widgets Qt5::UiPlugin)

if(APPLE)
target_link_libraries(${PROJECT_NAME} "-framework AppKit" "-framework Cocoa")
endif()

if(DEFINED NEDRYSOFT_RIBBON_DESIGNER_DIR)
set(PLUGIN_OUTPUT_DIR ${NEDRYSOFT_RIBBON_DESIGNER_DIR}/Designer/${CMAKE_LIBRARY_ARCHITECTURE}/${Qt5_VERSION})

file(MAKE_DIRECTORY ${PLUGIN_OUTPUT_DIR})

set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PLUGIN_OUTPUT_DIR}")
set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${PLUGIN_OUTPUT_DIR}")
else()
message(STATUS "Set NEDRYSOFT_RIBBON_DESIGNER_DIR to set the binary output dir.")
endif()
else()
message(STATUS "Set NEDRYSOFT_RIBBON_BUILD_DESIGNER_PLUGIN to build the designer plugin.")
endif()
Loading

0 comments on commit 32193f5

Please sign in to comment.