Add integrated keyboard for gtk137
This commit is contained in:
parent
2d3269b80e
commit
3ee9eac8bf
|
@ -31,6 +31,7 @@ set(SOURCE_FILE src/main.cc src/TextEditor.cc)
|
||||||
#Compile Resource
|
#Compile Resource
|
||||||
|
|
||||||
set(RESOURCE_LIST
|
set(RESOURCE_LIST
|
||||||
|
expender.ui
|
||||||
text_menu.xml)
|
text_menu.xml)
|
||||||
|
|
||||||
compile_gresources(RESOURCE_FILE
|
compile_gresources(RESOURCE_FILE
|
||||||
|
|
|
@ -0,0 +1,440 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Generated with glade 3.38.2 -->
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk+" version="3.24"/>
|
||||||
|
<object class="GtkExpander" id="key_expend">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="resize-toplevel">True</property>
|
||||||
|
<child>
|
||||||
|
<!-- n-columns=24 n-rows=3 -->
|
||||||
|
<object class="GtkGrid">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="row-homogeneous">True</property>
|
||||||
|
<property name="column-homogeneous">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn16">
|
||||||
|
<property name="label" translatable="yes">Q</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">2</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn22">
|
||||||
|
<property name="label" translatable="yes">W</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">4</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn4">
|
||||||
|
<property name="label" translatable="yes">E</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">6</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn17">
|
||||||
|
<property name="label" translatable="yes">R</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">8</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn19">
|
||||||
|
<property name="label" translatable="yes">T</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">10</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn24">
|
||||||
|
<property name="label" translatable="yes">Y</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">12</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn20">
|
||||||
|
<property name="label" translatable="yes">U</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">14</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn8">
|
||||||
|
<property name="label" translatable="yes">I</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">16</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn14">
|
||||||
|
<property name="label" translatable="yes">O</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">18</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn15">
|
||||||
|
<property name="label" translatable="yes">P</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">20</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn0">
|
||||||
|
<property name="label" translatable="yes">A</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">3</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn25">
|
||||||
|
<property name="label" translatable="yes">Z</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">4</property>
|
||||||
|
<property name="top-attach">2</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn18">
|
||||||
|
<property name="label" translatable="yes">S</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">5</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn3">
|
||||||
|
<property name="label" translatable="yes">D</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">7</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn5">
|
||||||
|
<property name="label" translatable="yes">F</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">9</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn6">
|
||||||
|
<property name="label" translatable="yes">G</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">11</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn7">
|
||||||
|
<property name="label" translatable="yes">H</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">13</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn9">
|
||||||
|
<property name="label" translatable="yes">J</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">15</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn10">
|
||||||
|
<property name="label" translatable="yes">K</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">17</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn11">
|
||||||
|
<property name="label" translatable="yes">L</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">19</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkToggleButton" id="btn_caps">
|
||||||
|
<property name="label" translatable="yes">CapsLK</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">0</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">3</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn23">
|
||||||
|
<property name="label" translatable="yes">X</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">6</property>
|
||||||
|
<property name="top-attach">2</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn2">
|
||||||
|
<property name="label" translatable="yes">C</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">8</property>
|
||||||
|
<property name="top-attach">2</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn21">
|
||||||
|
<property name="label" translatable="yes">V</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">10</property>
|
||||||
|
<property name="top-attach">2</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn1">
|
||||||
|
<property name="label" translatable="yes">B</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">12</property>
|
||||||
|
<property name="top-attach">2</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn13">
|
||||||
|
<property name="label" translatable="yes">N</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">14</property>
|
||||||
|
<property name="top-attach">2</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btn12">
|
||||||
|
<property name="label" translatable="yes">M</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">16</property>
|
||||||
|
<property name="top-attach">2</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkToggleButton" id="btnshift">
|
||||||
|
<property name="label" translatable="yes">Shift</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">0</property>
|
||||||
|
<property name="top-attach">2</property>
|
||||||
|
<property name="width">4</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btntab">
|
||||||
|
<property name="label" translatable="yes">tab</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">0</property>
|
||||||
|
<property name="top-attach">0</property>
|
||||||
|
<property name="width">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="btnenter">
|
||||||
|
<property name="label" translatable="yes">enter</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left-attach">21</property>
|
||||||
|
<property name="top-attach">1</property>
|
||||||
|
<property name="width">3</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Keyboard</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
|
@ -3,6 +3,7 @@
|
||||||
#include "../json_nlohmann/json.hpp"
|
#include "../json_nlohmann/json.hpp"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
using json = nlohmann::json;
|
using json = nlohmann::json;
|
||||||
|
|
||||||
|
@ -27,7 +28,7 @@ TextEditor::TextEditor()
|
||||||
json_file.close();
|
json_file.close();
|
||||||
|
|
||||||
// Initalize Window
|
// Initalize Window
|
||||||
vbox.set_size_request(width, height);
|
set_default_size(width, height);
|
||||||
set_icon_name("my_textedit");
|
set_icon_name("my_textedit");
|
||||||
|
|
||||||
// Initalize HeaderBar
|
// Initalize HeaderBar
|
||||||
|
@ -90,17 +91,61 @@ TextEditor::TextEditor()
|
||||||
infobox = dynamic_cast<Gtk::Box *>(infobar.get_content_area());
|
infobox = dynamic_cast<Gtk::Box *>(infobar.get_content_area());
|
||||||
infobox->pack_start(label1);
|
infobox->pack_start(label1);
|
||||||
vbox.pack_start(infobar, Gtk::PACK_SHRINK);
|
vbox.pack_start(infobar, Gtk::PACK_SHRINK);
|
||||||
|
vbox.pack_start(hbox);
|
||||||
|
|
||||||
// Save config when the window is closed
|
// Save config when the window is closed
|
||||||
signal_delete_event().connect(sigc::mem_fun(*this, &TextEditor::window_delete_event));
|
signal_delete_event().connect(sigc::mem_fun(*this, &TextEditor::window_delete_event));
|
||||||
|
|
||||||
|
// Add Intergated keyboard
|
||||||
|
expend_builder = Gtk::Builder::create_from_resource("/org/gtk/daleclack/expender.ui");
|
||||||
|
expend_builder->get_widget("key_expend", expender);
|
||||||
|
expend_builder->get_widget("btnshift", btnshift);
|
||||||
|
expend_builder->get_widget("btn_caps", btncaps);
|
||||||
|
expend_builder->get_widget("btntab", btntab);
|
||||||
|
expend_builder->get_widget("btnenter", btnenter);
|
||||||
|
vbox.pack_start(*expender, Gtk::PACK_SHRINK);
|
||||||
|
|
||||||
|
// Get alphabet buttons
|
||||||
|
for(int i = 0; i < 26; i++){
|
||||||
|
char name[10];
|
||||||
|
sprintf(name, "btn%d", i);
|
||||||
|
expend_builder->get_widget(name, btns[i]);
|
||||||
|
btns[i]->signal_clicked().connect(sigc::bind(
|
||||||
|
sigc::mem_fun(*this, &TextEditor::key_pressed),
|
||||||
|
btns[i]
|
||||||
|
));
|
||||||
|
}
|
||||||
|
btntab->signal_clicked().connect(sigc::mem_fun(*this, &TextEditor::btntab_clicked));
|
||||||
|
btnenter->signal_clicked().connect(sigc::mem_fun(*this, &TextEditor::btnenter_clicked));
|
||||||
|
|
||||||
// Show everything
|
// Show everything
|
||||||
vbox.pack_start(hbox);
|
|
||||||
add(vbox);
|
add(vbox);
|
||||||
show_all_children();
|
show_all_children();
|
||||||
infobar.hide();
|
infobar.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextEditor::key_pressed(Gtk::Button *button){
|
||||||
|
auto label = button->get_label();
|
||||||
|
Glib::ustring::size_type pos = 0,len = 1;
|
||||||
|
char buf[2];
|
||||||
|
if(btncaps->get_active() || btnshift->get_active()){
|
||||||
|
btnshift->set_active(false);
|
||||||
|
}else{
|
||||||
|
sprintf(buf, "%c", label[0] + 32);
|
||||||
|
label.replace(pos, len, buf);
|
||||||
|
}
|
||||||
|
//std::cout << label << std::endl;
|
||||||
|
buffer1->insert_at_cursor(label);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TextEditor::btntab_clicked(){
|
||||||
|
buffer1->insert_at_cursor("\t");
|
||||||
|
}
|
||||||
|
|
||||||
|
void TextEditor::btnenter_clicked(){
|
||||||
|
buffer1->insert_at_cursor("\n");
|
||||||
|
}
|
||||||
|
|
||||||
bool TextEditor::window_delete_event(GdkEventAny *event)
|
bool TextEditor::window_delete_event(GdkEventAny *event)
|
||||||
{
|
{
|
||||||
// Create json raw data
|
// Create json raw data
|
||||||
|
@ -110,8 +155,8 @@ bool TextEditor::window_delete_event(GdkEventAny *event)
|
||||||
})");
|
})");
|
||||||
|
|
||||||
// Override config in json file
|
// Override config in json file
|
||||||
data["width"] = vbox.get_width();
|
data["width"] = sw1.get_width();
|
||||||
data["height"] = vbox.get_height();
|
data["height"] = sw1.get_height();
|
||||||
|
|
||||||
// Output json data to file
|
// Output json data to file
|
||||||
std::fstream outfile;
|
std::fstream outfile;
|
||||||
|
|
|
@ -13,7 +13,7 @@ private:
|
||||||
Gtk::MenuButton menubtn;
|
Gtk::MenuButton menubtn;
|
||||||
Gtk::Popover popover;
|
Gtk::Popover popover;
|
||||||
Gtk::ToggleButton search_button;
|
Gtk::ToggleButton search_button;
|
||||||
Glib::RefPtr<Gtk::Builder> menu_builder;
|
Glib::RefPtr<Gtk::Builder> menu_builder, expend_builder;
|
||||||
|
|
||||||
// SearchBar
|
// SearchBar
|
||||||
Gtk::SearchBar searchbar;
|
Gtk::SearchBar searchbar;
|
||||||
|
@ -25,11 +25,14 @@ private:
|
||||||
|
|
||||||
// Window widgets
|
// Window widgets
|
||||||
Gtk::Box vbox, hbox, *infobox;
|
Gtk::Box vbox, hbox, *infobox;
|
||||||
Gtk::ScrolledWindow sw1, sw2;
|
Gtk::ScrolledWindow sw1;
|
||||||
Glib::RefPtr<Gtk::TextBuffer> buffer1;
|
Glib::RefPtr<Gtk::TextBuffer> buffer1;
|
||||||
Gtk::TextView textview1;
|
Gtk::TextView textview1;
|
||||||
Gtk::InfoBar infobar;
|
Gtk::InfoBar infobar;
|
||||||
Gtk::Label label1;
|
Gtk::Label label1;
|
||||||
|
Gtk::Expander *expender;
|
||||||
|
Gtk::Button *btns[26], *btntab, *btnenter;
|
||||||
|
Gtk::ToggleButton *btnshift, *btncaps;
|
||||||
|
|
||||||
// File Dialog
|
// File Dialog
|
||||||
Glib::RefPtr<Gtk::FileChooserNative> dialog;
|
Glib::RefPtr<Gtk::FileChooserNative> dialog;
|
||||||
|
@ -59,6 +62,11 @@ private:
|
||||||
void search_forward();
|
void search_forward();
|
||||||
void search_backward();
|
void search_backward();
|
||||||
|
|
||||||
|
// Keyboard press
|
||||||
|
void key_pressed(Gtk::Button *button);
|
||||||
|
void btntab_clicked();
|
||||||
|
void btnenter_clicked();
|
||||||
|
|
||||||
// Other Signal Handlers
|
// Other Signal Handlers
|
||||||
void about_activated();
|
void about_activated();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue