drogonCMS-cmake into main branch that replaces make plus other things #1
5
.gitignore
vendored
5
.gitignore
vendored
@ -31,6 +31,10 @@ autom4te.cache
|
||||
configure~
|
||||
build-aux
|
||||
build
|
||||
cmake_install.cmake
|
||||
CTestTestfile.cmake
|
||||
CMakeFiles/
|
||||
CMakeCache.txt
|
||||
|
||||
# https://www.gnu.org/software/libtool/
|
||||
|
||||
@ -51,6 +55,7 @@ m4/lt~obsolete.m4
|
||||
# exclude executables
|
||||
|
||||
/drogon_dashboard
|
||||
/DrogonCMS
|
||||
|
||||
# Generated Makefile
|
||||
# (meta build system like autotools,
|
||||
|
@ -28,48 +28,78 @@
|
||||
# you pick up the best policies.
|
||||
cmake_minimum_required(VERSION 3.1...3.28)
|
||||
|
||||
# This is your project statement. You should always list languages;
|
||||
# Listing the version is nice here since it sets lots of useful variables
|
||||
# we removed LANGUAGES C from project to allow for automatic compiler/linker checks; we will use C and C++ libraries for this project.
|
||||
project(
|
||||
DrogonCMS
|
||||
VERSION 1.0
|
||||
LANGUAGES C CXX)
|
||||
|
||||
# Adding something we can run - Output name matches target name
|
||||
add_executable(DrogonCMS src/base.c)
|
||||
|
||||
# If you set any CMAKE_ variables, that can go here.
|
||||
# (But usually don't do this, except maybe for C++ standard)
|
||||
set(CMAKE_PROJECT_DESCRIPTION "A GTK / Drogon CMS")
|
||||
set(CMAKE_PROJECT_HOMEPAGE_URL "https://github.com/odinzu/drogoncms")
|
||||
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
#set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# This is your project statement. You should always list languages;
|
||||
# Listing the version is nice here since it sets lots of useful variables
|
||||
# we removed LANGUAGES C from project to allow for automatic compiler/linker checks; we will use C and C++ libraries for this project.
|
||||
project(
|
||||
DrogonCMS
|
||||
VERSION 1.0)
|
||||
|
||||
#===============================================================================
|
||||
# Setting compilation flags for various compilers and build types:
|
||||
#===============================================================================
|
||||
|
||||
# some test warning levels for GCC
|
||||
set(WARNING_LEVELS_GCC
|
||||
#-Werror
|
||||
)
|
||||
set(WARNING_LEVELS_GCC_DEBUG
|
||||
#-Wfloat-equal
|
||||
#-Wextra
|
||||
-Wall
|
||||
-Wdeprecated-declarations
|
||||
#-Wundef
|
||||
#-Wshadow
|
||||
#-Wpointer-arith
|
||||
#-Wcast-align
|
||||
#-Wstrict-overflow=5
|
||||
#-Wwrite-strings
|
||||
#-Waggregate-return
|
||||
#-Wcast-qual
|
||||
#-Wswitch-default
|
||||
#-Wswitch-enum
|
||||
#-Wconversion
|
||||
)
|
||||
|
||||
# Print system, compiler CMake ID, version and path:
|
||||
#message(STATUS "System: ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
#message(STATUS "Compiler: ${CMAKE_Fortran_COMPILER_ID} ${CMAKE_Fortran_COMPILER_VERSION} ${CMAKE_Fortran_COMPILER}")
|
||||
#message(STATUS "Build type is: ${CMAKE_BUILD_TYPE}")
|
||||
|
||||
set(CMAKE_C_FLAGS "gtk4")
|
||||
|
||||
#===============================================================================
|
||||
# Default build type is release
|
||||
# Uncomment this to debug or use "cmake -D CMAKE_BUILD_TYPE=debug .."
|
||||
#===============================================================================
|
||||
# set(CMAKE_BUILD_TYPE debug)
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE release)
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Debug CACHE STRING
|
||||
"Choose build type: None Debug Release RelWithDebInfo MinSizeRel"
|
||||
FORCE)
|
||||
endif()
|
||||
|
||||
# Find packages go here.
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(GTK4 REQUIRED IMPORTED_TARGET gtk4)
|
||||
pkg_check_modules(ADW REQUIRED IMPORTED_TARGET libadwaita-1)
|
||||
pkg_check_modules(GTK4 REQUIRED gtk4>=4.0)
|
||||
pkg_check_modules(ADW REQUIRED libadwaita-1>=1.3.5)
|
||||
|
||||
# You should usually split this into folders, but this is a simple example
|
||||
# Setup CMake to use GTK+, tell the compiler where to look for headers
|
||||
# and to the linker where to look for libraries
|
||||
include_directories(${GTK4_INCLUDE_DIRS} ${ADW_INCLUDE_DIRS})
|
||||
link_directories(${GTK4_LIBRARY_DIRS} ${ADW_LIBRARY_DIRS})
|
||||
add_definitions(${GTK4_CFLAGS_OTHER} ${ADW_CFLAGS_OTHER})
|
||||
|
||||
# Adding something we can run - Output name matches target name
|
||||
add_executable(DrogonCMS src/base.c)
|
||||
|
||||
# This is a "default" library, and will match the *** variable setting.
|
||||
# Other common choices are STATIC, SHARED, and MODULE
|
||||
@ -78,12 +108,13 @@ pkg_check_modules(ADW REQUIRED IMPORTED_TARGET libadwaita-1)
|
||||
#add_library(MyLibExample simple_lib.cpp simple_lib.hpp)
|
||||
|
||||
# Link each target with other targets or add options, etc.
|
||||
|
||||
# Make sure you link your targets with this command. It can also link libraries and
|
||||
# even flags, so linking a target that does not exist will not give a configure-time error.
|
||||
target_link_libraries(DrogonCMS PRIVATE PkgConfig::GTK4)
|
||||
target_link_libraries(DrogonCMS PRIVATE PkgConfig::ADW)
|
||||
## [main]
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC ${GTK4_LIBRARIES} ${ADW_LIBRARIES})
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE ${GTK4_LIBRARIES} ${ADW_LIBRARIES})
|
||||
|
||||
# Target Compile Options
|
||||
target_compile_options(${PROJECT_NAME} PRIVATE ${WARNING_LEVELS_GCC} $<$<CONFIG:DEBUG>:${WARNING_LEVELS_GCC_DEBUG}>)
|
||||
|
||||
# This part is so the Modern CMake book can verify this example builds. For your code,
|
||||
# you'll probably want tests too
|
||||
@ -103,7 +134,10 @@ enable_testing()
|
||||
#===============================================================================
|
||||
# Add subdirectories to build:
|
||||
#===============================================================================
|
||||
add_subdirectory(src)
|
||||
#add_subdirectory(src)
|
||||
|
||||
# include directory for third party libraries
|
||||
include_directories(vendors/)
|
||||
|
||||
###############################################################################
|
||||
## PACKAGING ##################################################################
|
||||
|
@ -46,9 +46,9 @@ This is what my build commands look like in Geany IDE with **BSD CMake Tools**.
|
||||
|
||||
| Name | Command | Working Directory |
|
||||
| ----------- | ------------------ | -------------------------------------------------------------------- |
|
||||
| Configure | cmake -DCMAKE_BUILD_TYPE=Release | /home/username/Desktop/Local-Development/cplusplus/drogon-dash/build |
|
||||
| AutoReconf | cmake --build | /home/username/Desktop/Local-Development/cplusplus/drogon-dash |
|
||||
| Run | ./DrogonCMS | /home/username/Desktop/Local-Development/cplusplus/drogon-dash/build |
|
||||
| Configure | cmake -DCMAKE_BUILD_TYPE=Release | /home/username/Desktop/Local-Development/cplusplus/DrogonCMS |
|
||||
| AutoReconf | cmake --build | /home/username/Desktop/Local-Development/cplusplus/DrogonCMS |
|
||||
| Run | ./DrogonCMS | /home/username/Desktop/Local-Development/cplusplus/DrogonCMS |
|
||||
|
||||
## Authors
|
||||
|
||||
@ -65,7 +65,7 @@ oDinZu WenKi https://liberapay.com/oDinZu/
|
||||
* No commission fee
|
||||
* ~5% payment processing fee
|
||||
|
||||
Bitcoin/Crypto Donations: [SEND INQUIRIES TO INFO@SHARPETRONICS.COM TITLED: BITCOIN INQUIRY - BUSINESS/ALIAS]
|
||||
Bitcoin/Crypto Donations: [SEND INQUIRIES TO INFO@SHARPETRONICS.COM TITLED: CRYPTO INQUIRY - BUSINESS/ALIAS]
|
||||
|
||||
## Learning Resources
|
||||
* Adawaita Documentation https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/index.html
|
||||
|
52
src/base.c
52
src/base.c
@ -32,15 +32,41 @@
|
||||
*/
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/*
|
||||
Static Variables
|
||||
*/
|
||||
static GtkWidget *p_input;
|
||||
static GtkWidget *p_input_confirm;
|
||||
static GtkWidget *register_button;
|
||||
|
||||
/*
|
||||
Functions
|
||||
*/
|
||||
|
||||
|
||||
/* Compare password entries for admin registration confirmation */
|
||||
static void
|
||||
update_register_button(GObject *object,
|
||||
GParamSpec *pspec,
|
||||
gpointer data)
|
||||
{
|
||||
const char *text = gtk_editable_get_text(GTK_EDITABLE(p_input));
|
||||
const char *text2 = gtk_editable_get_text(GTK_EDITABLE(p_input_confirm));
|
||||
|
||||
//PLACEHOLDER Thish widget set needs to work with GtkBuilder.
|
||||
//This can be done easily but may need a condiontal statement.
|
||||
//Another issue is to use the gtkbuilder, I would have to duplicate code here or learn how to arrange each iteration in a module or easy to use function.
|
||||
//gtk_widget_set_sensitive (register_button,
|
||||
//text[0] != '\0' && g_str_equal (text, text2));
|
||||
}
|
||||
|
||||
/* Launch the application from activate */
|
||||
static void
|
||||
activate (GtkApplication *app,
|
||||
gpointer user_data)
|
||||
activate(GtkApplication *app,
|
||||
gpointer user_data)
|
||||
{
|
||||
/* Construct a GtkBuilder instance */
|
||||
GtkBuilder *builder = gtk_builder_new();
|
||||
@ -48,22 +74,38 @@ activate (GtkApplication *app,
|
||||
/* Loads the UI objects */
|
||||
gtk_builder_add_from_file(builder, "../src/ui/admin-register.ui", NULL);
|
||||
|
||||
/* Register the ID of gtk_object from admin-register.ui */
|
||||
/* Register the ID's of gtk_object from admin-register.ui */
|
||||
GObject *window = gtk_builder_get_object(builder, "register_window");
|
||||
|
||||
p_input = gtk_builder_get_object(builder, "p_input");
|
||||
GObject *p_input_confirm = gtk_builder_get_object(builder, "p_input_confirm");
|
||||
GObject *register_button = gtk_builder_get_object(builder, "register_button");
|
||||
|
||||
/* Connect the actions of XML UI objects's with Gtk Signals */
|
||||
|
||||
/* In Gtk_builder, we edit the specific widget; Gtk_builder contains all widgets created from Cambalache UI's */
|
||||
|
||||
/* Connect input text with update_button compariative function */
|
||||
g_signal_connect(p_input, "notify::text", G_CALLBACK(update_register_button), NULL);
|
||||
g_signal_connect(p_input_confirm, "notify::text", G_CALLBACK(update_register_button), NULL);
|
||||
|
||||
/* Sets the app window with *app GtkApplication */
|
||||
gtk_window_set_application(GTK_WINDOW(window), app);
|
||||
|
||||
/* Display the Gtk GUI */
|
||||
gtk_widget_set_visible(window, TRUE);
|
||||
|
||||
/*
|
||||
* Adds a weak reference from weak_pointer object to indicate that the
|
||||
* pointer located at weak_pointer_location is only valid during the lifetime of object.
|
||||
* When the object is finalized, weak_pointer will be set to NULL.
|
||||
*/
|
||||
g_object_add_weak_pointer(G_OBJECT (window), (gpointer *)&window);
|
||||
|
||||
/* Dereference and free computer memory */
|
||||
/* Dereference and free the computer memory */
|
||||
g_object_unref(builder);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Main program begins here
|
||||
*/
|
||||
|
@ -27,7 +27,7 @@ oDinZu WenKi -->
|
||||
<child>
|
||||
<object class="GtkImage" id="logo">
|
||||
<property name="accessible-role">img</property>
|
||||
<property name="icon-name">audio-x-generic</property>
|
||||
<property name="icon-name">application-x-executable</property>
|
||||
<property name="icon-size">large</property>
|
||||
<property name="margin-bottom">10</property>
|
||||
<property name="pixel-size">75</property>
|
||||
@ -42,7 +42,7 @@ oDinZu WenKi -->
|
||||
<child>
|
||||
<object class="GtkLabel" id="title_label">
|
||||
<property name="justify">center</property>
|
||||
<property name="label">Welcome to SharpeTronics</property>
|
||||
<property name="label">Welcome</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="column-span">2</property>
|
||||
@ -54,7 +54,7 @@ oDinZu WenKi -->
|
||||
<child>
|
||||
<object class="GtkLabel" id="moto_label">
|
||||
<property name="justify">center</property>
|
||||
<property name="label">A Drogon Dashboard</property>
|
||||
<property name="label">A Drogon Application</property>
|
||||
<property name="margin-bottom">15</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
@ -76,19 +76,10 @@ oDinZu WenKi -->
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTextView" id="first_name_input">
|
||||
<property name="accepts-tab">False</property>
|
||||
<property name="accessible-role">input</property>
|
||||
<property name="focus-on-click">False</property>
|
||||
<object class="GtkEntry" id="first_name_input">
|
||||
<property name="hexpand">True</property>
|
||||
<property name="indent">3</property>
|
||||
<property name="input-hints">no-emoji | no-spellcheck | private</property>
|
||||
<property name="input-purpose">name</property>
|
||||
<property name="left-margin">1</property>
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="pixels-above-lines">5</property>
|
||||
<property name="pixels-below-lines">5</property>
|
||||
<property name="tooltip-text">Enter the first name</property>
|
||||
<property name="placeholder-text">e.g. John</property>
|
||||
<property name="tooltip-text">Enter your first name</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">5</property>
|
||||
@ -108,19 +99,10 @@ oDinZu WenKi -->
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTextView" id="last_name_input">
|
||||
<property name="accepts-tab">False</property>
|
||||
<property name="accessible-role">input</property>
|
||||
<property name="focus-on-click">False</property>
|
||||
<object class="GtkEntry" id="last_name_input">
|
||||
<property name="hexpand">True</property>
|
||||
<property name="indent">3</property>
|
||||
<property name="input-hints">no-emoji | no-spellcheck | private</property>
|
||||
<property name="input-purpose">name</property>
|
||||
<property name="left-margin">1</property>
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="pixels-above-lines">5</property>
|
||||
<property name="pixels-below-lines">5</property>
|
||||
<property name="tooltip-text">Enter the last name</property>
|
||||
<property name="placeholder-text">e.g. Jacobs</property>
|
||||
<property name="tooltip-text">Enter your last name</property>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
<property name="row">5</property>
|
||||
@ -136,6 +118,7 @@ oDinZu WenKi -->
|
||||
</object>
|
||||
</property>
|
||||
<property name="margin-bottom">50</property>
|
||||
<property name="sensitive">False</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="column-span">2</property>
|
||||
@ -158,18 +141,9 @@ oDinZu WenKi -->
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTextView" id="email_input">
|
||||
<property name="accepts-tab">False</property>
|
||||
<property name="accessible-role">input</property>
|
||||
<property name="focus-on-click">False</property>
|
||||
<property name="indent">3</property>
|
||||
<property name="input-hints">no-emoji | no-spellcheck</property>
|
||||
<property name="input-purpose">email</property>
|
||||
<property name="left-margin">1</property>
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="pixels-above-lines">5</property>
|
||||
<property name="pixels-below-lines">5</property>
|
||||
<property name="tooltip-text">Enter the user email</property>
|
||||
<object class="GtkEntry" id="email_input">
|
||||
<property name="placeholder-text">e.g. johnjacobs@email.com</property>
|
||||
<property name="tooltip-text">Enter your email address</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="column-span">2</property>
|
||||
@ -190,11 +164,17 @@ oDinZu WenKi -->
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPasswordEntry" id="password_input">
|
||||
<object class="GtkPasswordEntry" id="p_input">
|
||||
<property name="accessible-role">input</property>
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="placeholder-text">e.g. password test</property>
|
||||
<property name="show-peek-icon">True</property>
|
||||
<property name="tooltip-text">Enter the user password</property>
|
||||
<property name="tooltip-text">Enter your password</property>
|
||||
<child>
|
||||
<object class="GtkPasswordEntryBuffer">
|
||||
<property name="max-length">12</property>
|
||||
</object>
|
||||
</child>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="column-span">2</property>
|
||||
@ -215,11 +195,12 @@ oDinZu WenKi -->
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPasswordEntry" id="password_input_confirm">
|
||||
<object class="GtkPasswordEntry" id="p_input_confirm">
|
||||
<property name="accessible-role">input</property>
|
||||
<property name="margin-bottom">5</property>
|
||||
<property name="placeholder-text">e.g. password test</property>
|
||||
<property name="show-peek-icon">True</property>
|
||||
<property name="tooltip-text">Enter the user password</property>
|
||||
<property name="tooltip-text">Enter your password</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="column-span">2</property>
|
||||
|
@ -50,17 +50,18 @@
|
||||
(3,5,"GtkLabel","title_label",3,None,None,None,1,None),
|
||||
(3,6,"GtkLabel","moto_label",3,None,None,None,2,None),
|
||||
(3,7,"GtkLabel","first_name_label",3,None,None,None,3,None),
|
||||
(3,8,"GtkTextView","first_name_input",3,None,None,None,4,None),
|
||||
(3,9,"GtkLabel","last_name_label",3,None,None,None,5,None),
|
||||
(3,10,"GtkTextView","last_name_input",3,None,None,None,6,None),
|
||||
(3,12,"GtkButton","register_button",3,None,None,None,7,None),
|
||||
(3,13,"GtkLabel","email_label",3,None,None,None,8,None),
|
||||
(3,14,"GtkTextView","email_input",3,None,None,None,9,None),
|
||||
(3,15,"GtkLabel","password_label",3,None,None,None,10,None),
|
||||
(3,17,"GtkLabel","password_label_confirm",3,None,None,None,13,None),
|
||||
(3,17,"GtkLabel","password_label_confirm",3,None,None,None,12,None),
|
||||
(3,20,"AdwButtonContent",None,12,None,None,None,-1,None),
|
||||
(3,21,"GtkPasswordEntry","password_input",3,None,None,None,11,None),
|
||||
(3,22,"GtkPasswordEntry","password_input_confirm",3,None,None,None,14,None),
|
||||
(3,21,"GtkPasswordEntry","p_input",3,None,None,None,11,None),
|
||||
(3,22,"GtkPasswordEntry","p_input_confirm",3,None,None,None,13,None),
|
||||
(3,23,"GtkEntry","first_name_input",3,None,None,None,4,None),
|
||||
(3,24,"GtkEntry","last_name_input",3,None,None,None,6,None),
|
||||
(3,25,"GtkEntry","email_input",3,None,None,None,9,None),
|
||||
(3,26,"GtkPasswordEntryBuffer",None,21,None,None,None,-1,None),
|
||||
(4,1,"GtkWindow","passwordWindow",None,None,None,None,None,None),
|
||||
(4,2,"GtkCenterBox",None,1,None,None,None,None,None),
|
||||
(4,3,"GtkGrid",None,2,None,"center",None,None,None),
|
||||
@ -177,64 +178,30 @@
|
||||
(3,3,"GtkWidget","halign","center",None,None,None,None,None,None,None,None,None),
|
||||
(3,3,"GtkWidget","width-request","450",None,None,None,None,None,None,None,None,None),
|
||||
(3,4,"GtkAccessible","accessible-role","img",None,None,None,None,None,None,None,None,None),
|
||||
(3,4,"GtkImage","icon-name","audio-x-generic",None,None,None,None,None,None,None,None,None),
|
||||
(3,4,"GtkImage","icon-name","application-x-executable",None,None,None,None,None,None,None,None,None),
|
||||
(3,4,"GtkImage","icon-size","large",None,None,None,None,None,None,None,None,None),
|
||||
(3,4,"GtkImage","pixel-size","75",None,None,None,None,None,None,None,None,None),
|
||||
(3,4,"GtkWidget","margin-bottom","10",None,None,None,None,None,None,None,None,None),
|
||||
(3,5,"GtkLabel","justify","center",None,None,None,None,None,None,None,None,None),
|
||||
(3,5,"GtkLabel","label","Welcome to SharpeTronics",None,None,None,None,None,None,None,None,None),
|
||||
(3,5,"GtkLabel","label","Welcome",None,None,None,None,None,None,None,None,None),
|
||||
(3,6,"GtkLabel","justify","center",None,None,None,None,None,None,None,None,None),
|
||||
(3,6,"GtkLabel","label","A Drogon Dashboard",None,None,None,None,None,None,None,None,None),
|
||||
(3,6,"GtkLabel","label","A Drogon Application",None,None,None,None,None,None,None,None,None),
|
||||
(3,6,"GtkWidget","margin-bottom","15",None,None,None,None,None,None,None,None,None),
|
||||
(3,7,"GtkAccessible","accessible-role","label",None,None,None,None,None,None,None,None,None),
|
||||
(3,7,"GtkLabel","label","First Name:",None,None,None,None,None,None,None,None,None),
|
||||
(3,7,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,7,"GtkWidget","margin-bottom","2",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkAccessible","accessible-role","input",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkTextView","accepts-tab","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkTextView","indent","3",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkTextView","input-hints","no-emoji | no-spellcheck | private",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkTextView","input-purpose","name",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkTextView","left-margin","1",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkTextView","pixels-above-lines","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkTextView","pixels-below-lines","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkWidget","focus-on-click","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,8,"GtkWidget","tooltip-text","Enter the first name",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkAccessible","accessible-role","label",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkLabel","label","Last Name:",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None),
|
||||
(3,9,"GtkWidget","margin-bottom","2",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkAccessible","accessible-role","input",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkTextView","accepts-tab","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkTextView","indent","3",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkTextView","input-hints","no-emoji | no-spellcheck | private",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkTextView","input-purpose","name",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkTextView","left-margin","1",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkTextView","pixels-above-lines","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkTextView","pixels-below-lines","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkWidget","focus-on-click","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,10,"GtkWidget","tooltip-text","Enter the last name",None,None,None,None,None,None,None,None,None),
|
||||
(3,12,"GtkButton","child",None,None,None,None,None,20,None,None,None,None),
|
||||
(3,12,"GtkWidget","margin-bottom","50",None,None,None,None,None,None,None,None,None),
|
||||
(3,12,"GtkWidget","sensitive","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,13,"GtkAccessible","accessible-role","label",None,None,None,None,None,None,None,None,None),
|
||||
(3,13,"GtkLabel","label","Email:",None,None,None,None,None,None,None,None,None),
|
||||
(3,13,"GtkLabel","xalign","0.0",None,None,None,None,None,None,None,None,None),
|
||||
(3,13,"GtkWidget","margin-bottom","2",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkAccessible","accessible-role","input",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkTextView","accepts-tab","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkTextView","indent","3",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkTextView","input-hints","no-emoji | no-spellcheck",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkTextView","input-purpose","email",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkTextView","left-margin","1",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkTextView","pixels-above-lines","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkTextView","pixels-below-lines","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkWidget","focus-on-click","False",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,14,"GtkWidget","tooltip-text","Enter the user email",None,None,None,None,None,None,None,None,None),
|
||||
(3,15,"GtkLabel","label","Password:",None,None,None,None,None,None,None,None,None),
|
||||
(3,15,"GtkLabel","xalign","0.0",None,None,None,None,None,None,None,None,None),
|
||||
(3,15,"GtkWidget","margin-bottom","2",None,None,None,None,None,None,None,None,None),
|
||||
@ -244,13 +211,24 @@
|
||||
(3,20,"AdwButtonContent","icon-name","pan-start-symbolic-rtl",None,None,None,None,None,None,None,None,None),
|
||||
(3,20,"AdwButtonContent","label","Let's Start",None,None,None,None,None,None,None,None,None),
|
||||
(3,21,"GtkAccessible","accessible-role","input",None,None,None,None,None,None,None,None,None),
|
||||
(3,21,"GtkPasswordEntry","placeholder-text","e.g. password test",None,None,None,None,None,None,None,None,None),
|
||||
(3,21,"GtkPasswordEntry","show-peek-icon","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,21,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,21,"GtkWidget","tooltip-text","Enter the user password",None,None,None,None,None,None,None,None,None),
|
||||
(3,21,"GtkWidget","tooltip-text","Enter your password",None,None,None,None,None,None,None,None,None),
|
||||
(3,22,"GtkAccessible","accessible-role","input",None,None,None,None,None,None,None,None,None),
|
||||
(3,22,"GtkPasswordEntry","placeholder-text","e.g. password test",None,None,None,None,None,None,None,None,None),
|
||||
(3,22,"GtkPasswordEntry","show-peek-icon","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,22,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None),
|
||||
(3,22,"GtkWidget","tooltip-text","Enter the user password",None,None,None,None,None,None,None,None,None),
|
||||
(3,22,"GtkWidget","tooltip-text","Enter your password",None,None,None,None,None,None,None,None,None),
|
||||
(3,23,"GtkEntry","placeholder-text","e.g. John",None,None,None,None,None,None,None,None,None),
|
||||
(3,23,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,23,"GtkWidget","tooltip-text","Enter your first name",None,None,None,None,None,None,None,None,None),
|
||||
(3,24,"GtkEntry","placeholder-text","e.g. Jacobs",None,None,None,None,None,None,None,None,None),
|
||||
(3,24,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
|
||||
(3,24,"GtkWidget","tooltip-text","Enter your last name",None,None,None,None,None,None,None,None,None),
|
||||
(3,25,"GtkEntry","placeholder-text","e.g. johnjacobs@email.com",None,None,None,None,None,None,None,None,None),
|
||||
(3,25,"GtkWidget","tooltip-text","Enter your email address",None,None,None,None,None,None,None,None,None),
|
||||
(3,26,"GtkEntryBuffer","max-length","12",None,None,None,None,None,None,None,None,None),
|
||||
(4,1,"GtkWindow","default-height","300",None,None,None,None,None,None,None,None,None),
|
||||
(4,1,"GtkWindow","default-width","300",None,None,None,None,None,None,None,None,None),
|
||||
(4,1,"GtkWindow","title","Login",None,None,None,None,None,None,None,None,None),
|
||||
@ -328,19 +306,14 @@
|
||||
(3,3,6,"GtkGridLayoutChild","row","2",None,None,None,None),
|
||||
(3,3,7,"GtkGridLayoutChild","column","0",None,None,None,None),
|
||||
(3,3,7,"GtkGridLayoutChild","row","4",None,None,None,None),
|
||||
(3,3,8,"GtkGridLayoutChild","row","5",None,None,None,None),
|
||||
(3,3,9,"GtkGridLayoutChild","column","1",None,None,None,None),
|
||||
(3,3,9,"GtkGridLayoutChild","row","4",None,None,None,None),
|
||||
(3,3,10,"GtkGridLayoutChild","column","1",None,None,None,None),
|
||||
(3,3,10,"GtkGridLayoutChild","row","5",None,None,None,None),
|
||||
(3,3,12,"GtkGridLayoutChild","column","0",None,None,None,None),
|
||||
(3,3,12,"GtkGridLayoutChild","column-span","2",None,None,None,None),
|
||||
(3,3,12,"GtkGridLayoutChild","row","12",None,None,None,None),
|
||||
(3,3,12,"GtkGridLayoutChild","row-span","1",None,None,None,None),
|
||||
(3,3,13,"GtkGridLayoutChild","column-span","2",None,None,None,None),
|
||||
(3,3,13,"GtkGridLayoutChild","row","6",None,None,None,None),
|
||||
(3,3,14,"GtkGridLayoutChild","column-span","2",None,None,None,None),
|
||||
(3,3,14,"GtkGridLayoutChild","row","7",None,None,None,None),
|
||||
(3,3,15,"GtkGridLayoutChild","column-span","2",None,None,None,None),
|
||||
(3,3,15,"GtkGridLayoutChild","row","8",None,None,None,None),
|
||||
(3,3,17,"GtkGridLayoutChild","column-span","2",None,None,None,None),
|
||||
@ -349,6 +322,11 @@
|
||||
(3,3,21,"GtkGridLayoutChild","row","9",None,None,None,None),
|
||||
(3,3,22,"GtkGridLayoutChild","column-span","2",None,None,None,None),
|
||||
(3,3,22,"GtkGridLayoutChild","row","11",None,None,None,None),
|
||||
(3,3,23,"GtkGridLayoutChild","row","5",None,None,None,None),
|
||||
(3,3,24,"GtkGridLayoutChild","column","1",None,None,None,None),
|
||||
(3,3,24,"GtkGridLayoutChild","row","5",None,None,None,None),
|
||||
(3,3,25,"GtkGridLayoutChild","column-span","2",None,None,None,None),
|
||||
(3,3,25,"GtkGridLayoutChild","row","7",None,None,None,None),
|
||||
(4,3,4,"GtkGridLayoutChild","column","0",None,None,None,None),
|
||||
(4,3,4,"GtkGridLayoutChild","column-span","1",None,None,None,None),
|
||||
(4,3,4,"GtkGridLayoutChild","row","0",None,None,None,None),
|
||||
|
Loading…
x
Reference in New Issue
Block a user