mirror of
https://github.com/ToshioCP/Gtk4-tutorial.git
synced 2025-01-12 20:03:28 +01:00
Change the width of HTML contents.
Update the distribution package information.
This commit is contained in:
parent
7ad06cfe73
commit
7b14d03a24
45 changed files with 230 additions and 78 deletions
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -105,6 +105,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="how-to-build-gtk4-tutorial">How to build Gtk4-Tutorial</h1>
|
<h1 id="how-to-build-gtk4-tutorial">How to build Gtk4-Tutorial</h1>
|
||||||
<h2 id="quick-start-guide">Quick start guide</h2>
|
<h2 id="quick-start-guide">Quick start guide</h2>
|
||||||
<ol type="1">
|
<ol type="1">
|
||||||
|
@ -547,7 +549,7 @@ tutorial.</p>
|
||||||
<h2 id="generate-html-files">Generate html files</h2>
|
<h2 id="generate-html-files">Generate html files</h2>
|
||||||
<p>Src.md files can be translated to html files. You need pandoc to do
|
<p>Src.md files can be translated to html files. You need pandoc to do
|
||||||
this. Most linux distribution has pandoc package. Refer to your
|
this. Most linux distribution has pandoc package. Refer to your
|
||||||
distribution document to install it.</p>
|
distribution document to install.</p>
|
||||||
<p>Type <code>rake html</code> to generate html files.</p>
|
<p>Type <code>rake html</code> to generate html files.</p>
|
||||||
<pre><code>$ rake html</code></pre>
|
<pre><code>$ rake html</code></pre>
|
||||||
<p>First, it generates pandoc’s markdown files under <code>docs</code>
|
<p>First, it generates pandoc’s markdown files under <code>docs</code>
|
||||||
|
@ -607,6 +609,8 @@ file.</p>
|
||||||
<code>rake clobber</code> or <code>rake cleanlatex</code></p>
|
<code>rake clobber</code> or <code>rake cleanlatex</code></p>
|
||||||
<pre><code>$ rake clobber</code></pre>
|
<pre><code>$ rake clobber</code></pre>
|
||||||
<p>This removes all the latex source files and a pdf file.</p>
|
<p>This removes all the latex source files and a pdf file.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -102,6 +102,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtk-4-tutorial-for-beginners">GTK 4 Tutorial for beginners</h1>
|
<h1 id="gtk-4-tutorial-for-beginners">GTK 4 Tutorial for beginners</h1>
|
||||||
<h4 id="contents-of-this-repository">Contents of this Repository</h4>
|
<h4 id="contents-of-this-repository">Contents of this Repository</h4>
|
||||||
<p>This tutorial illustrates how to write C programs with the GTK 4
|
<p>This tutorial illustrates how to write C programs with the GTK 4
|
||||||
|
@ -202,6 +204,8 @@ destruction</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>This website uses <a
|
<p>This website uses <a
|
||||||
href="https://getbootstrap.jp/">Bootstrap</a>.</p>
|
href="https://getbootstrap.jp/">Bootstrap</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -108,6 +108,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="prerequisite-and-license">Prerequisite and License</h1>
|
<h1 id="prerequisite-and-license">Prerequisite and License</h1>
|
||||||
<h2 id="prerequisite">Prerequisite</h2>
|
<h2 id="prerequisite">Prerequisite</h2>
|
||||||
<h3 id="gtk-4-on-a-linux-os">GTK 4 on a Linux OS</h3>
|
<h3 id="gtk-4-on-a-linux-os">GTK 4 on a Linux OS</h3>
|
||||||
|
@ -133,7 +135,7 @@ file.</p>
|
||||||
<p>You need:</p>
|
<p>You need:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Linux.</li>
|
<li>Linux.</li>
|
||||||
<li>Ruby programming language. There are two ways to install it. One is
|
<li>Ruby programming language. There are two ways to install. One is
|
||||||
installing the distribution’s package. The other is using rbenv and
|
installing the distribution’s package. The other is using rbenv and
|
||||||
ruby-build. If you want to use the latest version of ruby, use
|
ruby-build. If you want to use the latest version of ruby, use
|
||||||
rbenv.</li>
|
rbenv.</li>
|
||||||
|
@ -146,7 +148,7 @@ such as converters, generators and controllers. All of them make up the
|
||||||
‘GTK4-tutorial’ package. This package is simply called ‘GTK4-tutorial’
|
‘GTK4-tutorial’ package. This package is simply called ‘GTK4-tutorial’
|
||||||
in the following description.</p>
|
in the following description.</p>
|
||||||
<p>GTK4-tutorial is free; you can redistribute it and/or modify it under
|
<p>GTK4-tutorial is free; you can redistribute it and/or modify it under
|
||||||
terms of the following licenses.</p>
|
the terms of the following licenses.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>The license of documents in GTK4-tutorial is the GNU Free
|
<li>The license of documents in GTK4-tutorial is the GNU Free
|
||||||
Documentation License as published by the Free Software Foundation;
|
Documentation License as published by the Free Software Foundation;
|
||||||
|
@ -173,6 +175,8 @@ Public License</a></li>
|
||||||
covered all the contents of the GTK4-tutorial. But GFDL1.3 is more
|
covered all the contents of the GTK4-tutorial. But GFDL1.3 is more
|
||||||
appropriate for documents so the license was changed. The license above
|
appropriate for documents so the license was changed. The license above
|
||||||
is the only effective license since 15/April/2023.</p>
|
is the only effective license since 15/April/2023.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="build-system">Build system</h1>
|
<h1 id="build-system">Build system</h1>
|
||||||
<h2 id="managing-big-source-files">Managing big source files</h2>
|
<h2 id="managing-big-source-files">Managing big source files</h2>
|
||||||
<p>We’ve compiled a small editor so far. The program is also small and
|
<p>We’ve compiled a small editor so far. The program is also small and
|
||||||
|
@ -362,6 +364,8 @@ directory <code>_build</code>.</p>
|
||||||
<code>tfe.c</code> and the other is <code>tfetextview.c</code>.</p>
|
<code>tfe.c</code> and the other is <code>tfetextview.c</code>.</p>
|
||||||
<p>For further information, see <a href="https://mesonbuild.com/">The
|
<p>For further information, see <a href="https://mesonbuild.com/">The
|
||||||
Meson Build system</a>.</p>
|
Meson Build system</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="instance-initialization-and-destruction">Instance Initialization
|
<h1 id="instance-initialization-and-destruction">Instance Initialization
|
||||||
and destruction</h1>
|
and destruction</h1>
|
||||||
<p>A new version of the text file editor (<code>tfe</code>) will be made
|
<p>A new version of the text file editor (<code>tfe</code>) will be made
|
||||||
|
@ -622,6 +624,8 @@ the reference to the other instances in the GtkTextViewPrivate in the
|
||||||
TfeTextView instance. After that, <code>dh3</code> calls
|
TfeTextView instance. After that, <code>dh3</code> calls
|
||||||
<code>dh2</code>, and <code>dh2</code> calls <code>dh1</code>. Finally
|
<code>dh2</code>, and <code>dh2</code> calls <code>dh1</code>. Finally
|
||||||
all the references are released.</p>
|
all the references are released.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="signals">Signals</h1>
|
<h1 id="signals">Signals</h1>
|
||||||
<h2 id="signals-1">Signals</h2>
|
<h2 id="signals-1">Signals</h2>
|
||||||
<p>Each object is encapsulated in Gtk programming. And it is not
|
<p>Each object is encapsulated in Gtk programming. And it is not
|
||||||
|
@ -295,6 +297,8 @@ fourth argument.</li>
|
||||||
<li>The signal “open-response” has one parameter. The fourth argument is
|
<li>The signal “open-response” has one parameter. The fourth argument is
|
||||||
the parameter.</li>
|
the parameter.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="tfetextview-class">TfeTextView class</h1>
|
<h1 id="tfetextview-class">TfeTextView class</h1>
|
||||||
<p>The TfeTextView class will be finally completed in this section. The
|
<p>The TfeTextView class will be finally completed in this section. The
|
||||||
remaining topic is functions. TfeTextView functions, which are
|
remaining topic is functions. TfeTextView functions, which are
|
||||||
|
@ -716,6 +718,8 @@ document of TfeTextView</a>. The markdown file is under the directory
|
||||||
<code>src/tfetextview</code>.</p>
|
<code>src/tfetextview</code>.</p>
|
||||||
<p>You can find all the TfeTextView source codes under src/tfetextview
|
<p>You can find all the TfeTextView source codes under src/tfetextview
|
||||||
directories.</p>
|
directories.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="functions-in-gtknotebook">Functions in GtkNotebook</h1>
|
<h1 id="functions-in-gtknotebook">Functions in GtkNotebook</h1>
|
||||||
<p>GtkNotebook is a very important object in the text file editor
|
<p>GtkNotebook is a very important object in the text file editor
|
||||||
<code>tfe</code>. It connects the application and TfeTextView objects. A
|
<code>tfe</code>. It connects the application and TfeTextView objects. A
|
||||||
|
@ -450,6 +452,8 @@ object <code>file</code>.</li>
|
||||||
filename and set the label of the GtkNotebookPage with
|
filename and set the label of the GtkNotebookPage with
|
||||||
<code>label</code>.</li>
|
<code>label</code>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="tfe-main-program">Tfe main program</h1>
|
<h1 id="tfe-main-program">Tfe main program</h1>
|
||||||
<p>The file <code>tfeapplication.c</code> is a main program of Tfe. It
|
<p>The file <code>tfeapplication.c</code> is a main program of Tfe. It
|
||||||
includes all the code other than <code>tfetextview.c</code> and
|
includes all the code other than <code>tfetextview.c</code> and
|
||||||
|
@ -425,6 +427,8 @@ that, unzip the archive file.</li>
|
||||||
<p>If you use git, run the terminal and type the following.</p>
|
<p>If you use git, run the terminal and type the following.</p>
|
||||||
<pre><code>$ git clone https://github.com/ToshioCP/Gtk4-tutorial.git</code></pre>
|
<pre><code>$ git clone https://github.com/ToshioCP/Gtk4-tutorial.git</code></pre>
|
||||||
<p>The source files are under /src/tfe5 directory.</p>
|
<p>The source files are under /src/tfe5 directory.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="how-to-build-tfe-text-file-editor">How to build tfe (text file
|
<h1 id="how-to-build-tfe-text-file-editor">How to build tfe (text file
|
||||||
editor)</h1>
|
editor)</h1>
|
||||||
<h2 id="how-to-compile-and-execute-the-text-editor-tfe.">How to compile
|
<h2 id="how-to-compile-and-execute-the-text-editor-tfe.">How to compile
|
||||||
|
@ -159,6 +161,8 @@ lines, words and characters</h2>
|
||||||
32 54 624 tfetextview/tfetextview.h
|
32 54 624 tfetextview/tfetextview.h
|
||||||
61 100 2073 tfe5/tfe.ui
|
61 100 2073 tfe5/tfe.ui
|
||||||
613 1746 19127 total</code></pre>
|
613 1746 19127 total</code></pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="menus-and-actions">Menus and actions</h1>
|
<h1 id="menus-and-actions">Menus and actions</h1>
|
||||||
<h2 id="menus">Menus</h2>
|
<h2 id="menus">Menus</h2>
|
||||||
<p>Users often use menus to tell a command to the application. It is
|
<p>Users often use menus to tell a command to the application. It is
|
||||||
|
@ -428,6 +430,8 @@ notebook page.</p>
|
||||||
If you double-click the icon twice or more, the application is run
|
If you double-click the icon twice or more, the application is run
|
||||||
multiple times. Therefore, you need to think about your startup and
|
multiple times. Therefore, you need to think about your startup and
|
||||||
activate (open) handler carefully.</p>
|
activate (open) handler carefully.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="stateful-action">Stateful action</h1>
|
<h1 id="stateful-action">Stateful action</h1>
|
||||||
<p>Some actions have states. The typical values of states are boolean or
|
<p>Some actions have states. The typical values of states are boolean or
|
||||||
string. However, other types of states are possible if you want.</p>
|
string. However, other types of states are possible if you want.</p>
|
||||||
|
@ -523,6 +525,8 @@ the default display shared by the windows.</p>
|
||||||
[1] 82113
|
[1] 82113
|
||||||
$ ./a.out # Run the second application
|
$ ./a.out # Run the second application
|
||||||
$ </code></pre>
|
$ </code></pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="ui-file-for-menu-and-action-entries">Ui file for menu and action
|
<h1 id="ui-file-for-menu-and-action-entries">Ui file for menu and action
|
||||||
entries</h1>
|
entries</h1>
|
||||||
<h2 id="ui-file-for-menu">Ui file for menu</h2>
|
<h2 id="ui-file-for-menu">Ui file for menu</h2>
|
||||||
|
@ -500,6 +502,8 @@ class="sourceCode xml"><code class="sourceCode xml"><span id="cb14-1"><a href="#
|
||||||
<p>Action name and target are separated like this. Action attribute
|
<p>Action name and target are separated like this. Action attribute
|
||||||
includes prefix and name only. You can’t write like
|
includes prefix and name only. You can’t write like
|
||||||
<code><attribute name="action">app.color::red</attribute></code>.</p>
|
<code><attribute name="action">app.color::red</attribute></code>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1
|
<h1
|
||||||
id="preparation-gtk-4-installation-and-the-download-of-this-repository">Preparation
|
id="preparation-gtk-4-installation-and-the-download-of-this-repository">Preparation
|
||||||
(GTK 4 installation and the download of this repository)</h1>
|
(GTK 4 installation and the download of this repository)</h1>
|
||||||
|
@ -126,7 +128,7 @@ distributions.</p>
|
||||||
<h3 id="installation-from-the-distribution-packages">Installation from
|
<h3 id="installation-from-the-distribution-packages">Installation from
|
||||||
the distribution packages</h3>
|
the distribution packages</h3>
|
||||||
<p>The first way is the easiest way to install. I’ve installed GTK 4
|
<p>The first way is the easiest way to install. I’ve installed GTK 4
|
||||||
packages (version 4.10.1) on Ubuntu 23.04.</p>
|
packages (version 4.12.2) on Ubuntu 23.10.</p>
|
||||||
<pre><code>$ sudo apt install libgtk-4-dev</code></pre>
|
<pre><code>$ sudo apt install libgtk-4-dev</code></pre>
|
||||||
<p>It is important to install the development files package
|
<p>It is important to install the development files package
|
||||||
(libgtk-4-dev). Otherwise, you can’t compile any GTK 4 based
|
(libgtk-4-dev). Otherwise, you can’t compile any GTK 4 based
|
||||||
|
@ -149,39 +151,39 @@ support GTK 4.</p>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: center;">Fedora</td>
|
<td style="text-align: center;">Fedora</td>
|
||||||
<td style="text-align: center;">38</td>
|
<td style="text-align: center;">39</td>
|
||||||
<td style="text-align: center;">4.10.3-2.fc38</td>
|
<td style="text-align: center;">4.12.2-2.fc39</td>
|
||||||
<td style="text-align: center;">GNOME 44</td>
|
<td style="text-align: center;">GNOME 45</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: center;">Ubuntu</td>
|
<td style="text-align: center;">Ubuntu</td>
|
||||||
<td style="text-align: center;">23.04</td>
|
<td style="text-align: center;">23.10</td>
|
||||||
<td style="text-align: center;">4.10.1</td>
|
<td style="text-align: center;">4.12.2</td>
|
||||||
<td style="text-align: center;">GNOME 44</td>
|
<td style="text-align: center;">GNOME 45</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: center;">Debian</td>
|
<td style="text-align: center;">Debian</td>
|
||||||
<td style="text-align: center;">bookworm(testing)</td>
|
<td style="text-align: center;">trixie(testing)</td>
|
||||||
<td style="text-align: center;">4.8.3+ds-2</td>
|
<td style="text-align: center;">4.12.3+ds-3</td>
|
||||||
<td style="text-align: center;">GNOME 43.4-1</td>
|
<td style="text-align: center;">GNOME 44.5</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: center;">Arch</td>
|
<td style="text-align: center;">Arch</td>
|
||||||
<td style="text-align: center;">rolling release</td>
|
<td style="text-align: center;">rolling release</td>
|
||||||
<td style="text-align: center;">4.10.3-1</td>
|
<td style="text-align: center;">4.12.4-1</td>
|
||||||
<td style="text-align: center;">GNOME 43.5-1</td>
|
<td style="text-align: center;">GNOME 45.2-1</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: center;">Gentoo</td>
|
<td style="text-align: center;">Gentoo</td>
|
||||||
<td style="text-align: center;">rolling release</td>
|
<td style="text-align: center;">rolling release</td>
|
||||||
<td style="text-align: center;">4.10.3</td>
|
<td style="text-align: center;">4.12.3</td>
|
||||||
<td style="text-align: center;">GNOME 44.1</td>
|
<td style="text-align: center;">GNOME 45.1</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: center;">OpenSUSE</td>
|
<td style="text-align: center;">OpenSUSE</td>
|
||||||
<td style="text-align: center;">Tumbleweed(rolling release)</td>
|
<td style="text-align: center;">Tumbleweed(rolling release)</td>
|
||||||
<td style="text-align: center;">4.10.3</td>
|
<td style="text-align: center;">4.12.4</td>
|
||||||
<td style="text-align: center;">GNOME 44.1</td>
|
<td style="text-align: center;">GNOME 45.2</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -226,6 +228,8 @@ this repository.</li>
|
||||||
first example of the tutorial is <code>pr1.c</code> and its pathname is
|
first example of the tutorial is <code>pr1.c</code> and its pathname is
|
||||||
<code>src/misc/pr1.c</code>. So you don’t need to type the example codes
|
<code>src/misc/pr1.c</code>. So you don’t need to type the example codes
|
||||||
by yourself.</p>
|
by yourself.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="composite-widgets-and-alert-dialog">Composite widgets and alert
|
<h1 id="composite-widgets-and-alert-dialog">Composite widgets and alert
|
||||||
dialog</h1>
|
dialog</h1>
|
||||||
<p>The source files are in the <a
|
<p>The source files are in the <a
|
||||||
|
@ -638,6 +640,8 @@ $ meson setup _build
|
||||||
$ ninja -C _build
|
$ ninja -C _build
|
||||||
$ _build/ex_alert
|
$ _build/ex_alert
|
||||||
Accept #<= if you clicked on the accept button</code></pre>
|
Accept #<= if you clicked on the accept button</code></pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtkfontdialogbutton-and-gsettings">GtkFontDialogButton and
|
<h1 id="gtkfontdialogbutton-and-gsettings">GtkFontDialogButton and
|
||||||
Gsettings</h1>
|
Gsettings</h1>
|
||||||
<h2 id="the-preference-dialog">The preference dialog</h2>
|
<h2 id="the-preference-dialog">The preference dialog</h2>
|
||||||
|
@ -315,7 +317,7 @@ point.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2 id="gsettings">GSettings</h2>
|
<h2 id="gsettings">GSettings</h2>
|
||||||
<p>We want to maintain the font data after the application quits. There
|
<p>We want to maintain the font data after the application quits. There
|
||||||
are some ways to implement it.</p>
|
are some ways to implement.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Make a configuration file. For example, a text file
|
<li>Make a configuration file. For example, a text file
|
||||||
“~/.config/tfe/font_desc.cfg” keeps font information.</li>
|
“~/.config/tfe/font_desc.cfg” keeps font information.</li>
|
||||||
|
@ -853,6 +855,8 @@ $ GSETTINGS_SCHEMA_DIR=_build _build/test_pref</code></pre>
|
||||||
<p>A window appears and you can choose a font via GtkFontDialog. If you
|
<p>A window appears and you can choose a font via GtkFontDialog. If you
|
||||||
select a new font, the font string is output through the standard
|
select a new font, the font string is output through the standard
|
||||||
output.</p>
|
output.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="tfewindow">TfeWindow</h1>
|
<h1 id="tfewindow">TfeWindow</h1>
|
||||||
<h2 id="the-tfe-window-and-xml-files">The Tfe window and XML files</h2>
|
<h2 id="the-tfe-window-and-xml-files">The Tfe window and XML files</h2>
|
||||||
<p>The following is the window of Tfe.</p>
|
<p>The following is the window of Tfe.</p>
|
||||||
|
@ -1074,6 +1076,8 @@ class="sourceCode numberSource C numberLines"><code class="sourceCode c"><span i
|
||||||
<span id="cb23-333"><a href="#cb23-333"></a>tfe_window_new <span class="op">(</span>GtkApplication <span class="op">*</span>app<span class="op">)</span> <span class="op">{</span></span>
|
<span id="cb23-333"><a href="#cb23-333"></a>tfe_window_new <span class="op">(</span>GtkApplication <span class="op">*</span>app<span class="op">)</span> <span class="op">{</span></span>
|
||||||
<span id="cb23-334"><a href="#cb23-334"></a> <span class="cf">return</span> GTK_WIDGET <span class="op">(</span>g_object_new <span class="op">(</span>TFE_TYPE_WINDOW<span class="op">,</span> <span class="st">"application"</span><span class="op">,</span> app<span class="op">,</span> NULL<span class="op">));</span></span>
|
<span id="cb23-334"><a href="#cb23-334"></a> <span class="cf">return</span> GTK_WIDGET <span class="op">(</span>g_object_new <span class="op">(</span>TFE_TYPE_WINDOW<span class="op">,</span> <span class="st">"application"</span><span class="op">,</span> app<span class="op">,</span> NULL<span class="op">));</span></span>
|
||||||
<span id="cb23-335"><a href="#cb23-335"></a><span class="op">}</span></span></code></pre></div>
|
<span id="cb23-335"><a href="#cb23-335"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="pango-css-and-application">Pango, CSS and Application</h1>
|
<h1 id="pango-css-and-application">Pango, CSS and Application</h1>
|
||||||
<h2 id="pangofontdescription">PangoFontDescription</h2>
|
<h2 id="pangofontdescription">PangoFontDescription</h2>
|
||||||
<p>PangoFontDescription is a C structure for a font. You can get font
|
<p>PangoFontDescription is a C structure for a font. You can get font
|
||||||
|
@ -642,6 +644,8 @@ href="https://discourse.gnome.org/t/menu-button-gives-error-messages-with-latest
|
||||||
in the GNOME Discourse. The comment says that GTK 4.10 has a bug and it
|
in the GNOME Discourse. The comment says that GTK 4.10 has a bug and it
|
||||||
is fixed in the version 4.10.5. I haven’t check 4.10.5 yet, where the
|
is fixed in the version 4.10.5. I haven’t check 4.10.5 yet, where the
|
||||||
UBUNTU GTK4 is still 4.10.4.</p>
|
UBUNTU GTK4 is still 4.10.4.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtkdrawingarea-and-cairo">GtkDrawingArea and Cairo</h1>
|
<h1 id="gtkdrawingarea-and-cairo">GtkDrawingArea and Cairo</h1>
|
||||||
<p>If you want to draw shapes or paint images dynamically on the screen,
|
<p>If you want to draw shapes or paint images dynamically on the screen,
|
||||||
use the GtkDrawingArea widget.</p>
|
use the GtkDrawingArea widget.</p>
|
||||||
|
@ -335,6 +337,8 @@ is invoked each time the window is resized.</p>
|
||||||
<img src="image/da1.png" alt="Square in the window" />
|
<img src="image/da1.png" alt="Square in the window" />
|
||||||
<figcaption aria-hidden="true">Square in the window</figcaption>
|
<figcaption aria-hidden="true">Square in the window</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="periodic-events">Periodic Events</h1>
|
<h1 id="periodic-events">Periodic Events</h1>
|
||||||
<p>This chapter was written by Paul Schulz <a
|
<p>This chapter was written by Paul Schulz <a
|
||||||
href="mailto:paul@mawsonlakes.org"
|
href="mailto:paul@mawsonlakes.org"
|
||||||
|
@ -497,6 +499,8 @@ class="sourceCode numberSource xml numberLines"><code class="sourceCode xml"><sp
|
||||||
<div class="sourceCode" id="cb7"><pre
|
<div class="sourceCode" id="cb7"><pre
|
||||||
class="sourceCode numberSource numberLines"><code class="sourceCode"><span id="cb7-1"><a href="#cb7-1"></a>glib-compile-resources $1.gresource.xml --target=$1.gresource.c --generate-source</span>
|
class="sourceCode numberSource numberLines"><code class="sourceCode"><span id="cb7-1"><a href="#cb7-1"></a>glib-compile-resources $1.gresource.xml --target=$1.gresource.c --generate-source</span>
|
||||||
<span id="cb7-2"><a href="#cb7-2"></a>gcc `pkg-config --cflags gtk4` $1.gresource.c $1.c `pkg-config --libs gtk4` -lm</span></code></pre></div>
|
<span id="cb7-2"><a href="#cb7-2"></a>gcc `pkg-config --cflags gtk4` $1.gresource.c $1.c `pkg-config --libs gtk4` -lm</span></code></pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="custom-drawing">Custom drawing</h1>
|
<h1 id="custom-drawing">Custom drawing</h1>
|
||||||
<p>Custom drawing is to draw shapes dynamically. This section shows an
|
<p>Custom drawing is to draw shapes dynamically. This section shows an
|
||||||
example of custom drawing. You can draw rectangles by dragging the
|
example of custom drawing. You can draw rectangles by dragging the
|
||||||
|
@ -459,6 +461,8 @@ $ _build/rect</code></pre>
|
||||||
<img src="image/rect.png" alt="The screen of rect program" />
|
<img src="image/rect.png" alt="The screen of rect program" />
|
||||||
<figcaption aria-hidden="true">The screen of rect program</figcaption>
|
<figcaption aria-hidden="true">The screen of rect program</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="tiny-turtle-graphics-interpreter">Tiny turtle graphics
|
<h1 id="tiny-turtle-graphics-interpreter">Tiny turtle graphics
|
||||||
interpreter</h1>
|
interpreter</h1>
|
||||||
<p>A program <code>turtle</code> is an example with the combination of
|
<p>A program <code>turtle</code> is an example with the combination of
|
||||||
|
@ -2583,6 +2585,8 @@ Pike (1984)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Lately, lots of source codes are in the internet. Maybe reading
|
<p>Lately, lots of source codes are in the internet. Maybe reading
|
||||||
source codes is the most useful for programmers.</p>
|
source codes is the most useful for programmers.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="drag-and-drop">Drag and drop</h1>
|
<h1 id="drag-and-drop">Drag and drop</h1>
|
||||||
<h2 id="whats-drag-and-drop">What’s drag and drop?</h2>
|
<h2 id="whats-drag-and-drop">What’s drag and drop?</h2>
|
||||||
<p>Drag and drop is also written as “Drag-and-Drop”, or “DND” in short.
|
<p>Drag and drop is also written as “Drag-and-Drop”, or “DND” in short.
|
||||||
|
@ -379,6 +381,8 @@ $ _build/dnd</code></pre>
|
||||||
<p>The source files are under the directory <code>src/dnd</code> of the
|
<p>The source files are under the directory <code>src/dnd</code> of the
|
||||||
<a href="https://github.com/ToshioCP/Gtk4-tutorial">repository</a>.
|
<a href="https://github.com/ToshioCP/Gtk4-tutorial">repository</a>.
|
||||||
Download it and see the directory.</p>
|
Download it and see the directory.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtklistview">GtkListView</h1>
|
<h1 id="gtklistview">GtkListView</h1>
|
||||||
<p>GTK 4 has added new list objects GtkListView, GtkGridView and
|
<p>GTK 4 has added new list objects GtkListView, GtkGridView and
|
||||||
GtkColumnView. The new feature is described in <a
|
GtkColumnView. The new feature is described in <a
|
||||||
|
@ -640,6 +642,8 @@ $ ./a.out</code></pre>
|
||||||
<img src="image/list3.png" alt="screenshot list3" />
|
<img src="image/list3.png" alt="screenshot list3" />
|
||||||
<figcaption aria-hidden="true">screenshot list3</figcaption>
|
<figcaption aria-hidden="true">screenshot list3</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtkapplication-and-gtkapplicationwindow">GtkApplication and
|
<h1 id="gtkapplication-and-gtkapplicationwindow">GtkApplication and
|
||||||
GtkApplicationWindow</h1>
|
GtkApplicationWindow</h1>
|
||||||
<h2 id="gtkapplication">GtkApplication</h2>
|
<h2 id="gtkapplication">GtkApplication</h2>
|
||||||
|
@ -444,6 +446,8 @@ with the title “pr4”.</p>
|
||||||
<img src="image/screenshot_pr4.png" alt="Screenshot of the window" />
|
<img src="image/screenshot_pr4.png" alt="Screenshot of the window" />
|
||||||
<figcaption aria-hidden="true">Screenshot of the window</figcaption>
|
<figcaption aria-hidden="true">Screenshot of the window</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtkgridview-and-activate-signal">GtkGridView and activate
|
<h1 id="gtkgridview-and-activate-signal">GtkGridView and activate
|
||||||
signal</h1>
|
signal</h1>
|
||||||
<p>GtkGridView is similar to GtkListView. It displays a GListModel as a
|
<p>GtkGridView is similar to GtkListView. It displays a GListModel as a
|
||||||
|
@ -638,6 +640,8 @@ inserted to “bytes” property as it is.</p>
|
||||||
a bit complicated especially for the beginners. If you feel some
|
a bit complicated especially for the beginners. If you feel some
|
||||||
difficulty, it is better for you to separate the ui file.</p>
|
difficulty, it is better for you to separate the ui file.</p>
|
||||||
<p>A directory src/list5 includes the ui file above.</p>
|
<p>A directory src/list5 includes the ui file above.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtkexpression">GtkExpression</h1>
|
<h1 id="gtkexpression">GtkExpression</h1>
|
||||||
<p>GtkExpression is a fundamental type. It is not a descendant of
|
<p>GtkExpression is a fundamental type. It is not a descendant of
|
||||||
GObject. GtkExpression provides a way to describe references to values.
|
GObject. GtkExpression provides a way to describe references to values.
|
||||||
|
@ -908,6 +910,8 @@ class="sourceCode numberSource numberLines"><code class="sourceCode"><span id="c
|
||||||
<span id="cb22-18"><a href="#cb22-18"></a>executable('exp_bind', 'exp_bind.c', resources, dependencies: gtkdep, export_dynamic: true, install: false)</span>
|
<span id="cb22-18"><a href="#cb22-18"></a>executable('exp_bind', 'exp_bind.c', resources, dependencies: gtkdep, export_dynamic: true, install: false)</span>
|
||||||
<span id="cb22-19"><a href="#cb22-19"></a>executable('exp_watch', 'exp_watch.c', dependencies: gtkdep, export_dynamic: true, install: false)</span>
|
<span id="cb22-19"><a href="#cb22-19"></a>executable('exp_watch', 'exp_watch.c', dependencies: gtkdep, export_dynamic: true, install: false)</span>
|
||||||
<span id="cb22-20"><a href="#cb22-20"></a>executable('exp_test', 'exp_test.c', resources, dependencies: gtkdep, export_dynamic: true, install: false)</span></code></pre></div>
|
<span id="cb22-20"><a href="#cb22-20"></a>executable('exp_test', 'exp_test.c', resources, dependencies: gtkdep, export_dynamic: true, install: false)</span></code></pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtkcolumnview">GtkColumnView</h1>
|
<h1 id="gtkcolumnview">GtkColumnView</h1>
|
||||||
<h2 id="gtkcolumnview-1">GtkColumnView</h2>
|
<h2 id="gtkcolumnview-1">GtkColumnView</h2>
|
||||||
<p>GtkColumnView is like GtkListView, but it has multiple columns. Each
|
<p>GtkColumnView is like GtkListView, but it has multiple columns. Each
|
||||||
|
@ -398,7 +400,7 @@ an argument (<code>this</code> object). But you need to be careful that
|
||||||
it can be NULL while the list item is being recycled. So,
|
it can be NULL while the list item is being recycled. So,
|
||||||
<code>G_IS_FILE_INFO (info)</code> is always necessary in callback
|
<code>G_IS_FILE_INFO (info)</code> is always necessary in callback
|
||||||
functions. The function retrieves a filename from <code>info</code>. The
|
functions. The function retrieves a filename from <code>info</code>. The
|
||||||
string is owned by <code>info</code> so it is necessary to duplicate it.
|
string is owned by <code>info</code> so it is necessary to duplicate.
|
||||||
And it returns the copied string.</p>
|
And it returns the copied string.</p>
|
||||||
<p>GtkNumericSorter compares numbers. It is used in the line 106 to 112
|
<p>GtkNumericSorter compares numbers. It is used in the line 106 to 112
|
||||||
and line 142 to 148. The lines from 106 to 112 is:</p>
|
and line 142 to 148. The lines from 106 to 112 is:</p>
|
||||||
|
@ -556,6 +558,8 @@ lists are sorted by the newly selected column.</p>
|
||||||
<p>GtkColumnView is very useful and it can manage very big GListModel.
|
<p>GtkColumnView is very useful and it can manage very big GListModel.
|
||||||
It is possible to use it for file list, application list, database
|
It is possible to use it for file list, application list, database
|
||||||
frontend and so on.</p>
|
frontend and so on.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -108,6 +108,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtksignallistitemfactory">GtkSignalListItemFactory</h1>
|
<h1 id="gtksignallistitemfactory">GtkSignalListItemFactory</h1>
|
||||||
<h2
|
<h2
|
||||||
id="gtksignallistitemfactory-and-gtkbulderlistitemfactory">GtkSignalListItemFactory
|
id="gtksignallistitemfactory-and-gtkbulderlistitemfactory">GtkSignalListItemFactory
|
||||||
|
@ -457,6 +459,8 @@ class="sourceCode numberSource C numberLines"><code class="sourceCode c"><span i
|
||||||
<span id="cb10-4"><a href="#cb10-4"></a></span>
|
<span id="cb10-4"><a href="#cb10-4"></a></span>
|
||||||
<span id="cb10-5"><a href="#cb10-5"></a> gtk_window_set_focus <span class="op">(</span>GTK_WINDOW <span class="op">(</span>win<span class="op">),</span> NULL<span class="op">);</span></span>
|
<span id="cb10-5"><a href="#cb10-5"></a> gtk_window_set_focus <span class="op">(</span>GTK_WINDOW <span class="op">(</span>win<span class="op">),</span> NULL<span class="op">);</span></span>
|
||||||
<span id="cb10-6"><a href="#cb10-6"></a><span class="op">}</span></span></code></pre></div>
|
<span id="cb10-6"><a href="#cb10-6"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="widgets-1">Widgets (1)</h1>
|
<h1 id="widgets-1">Widgets (1)</h1>
|
||||||
<h2 id="gtklabel-gtkbutton-and-gtkbox">GtkLabel, GtkButton and
|
<h2 id="gtklabel-gtkbutton-and-gtkbox">GtkLabel, GtkButton and
|
||||||
GtkBox</h2>
|
GtkBox</h2>
|
||||||
|
@ -461,6 +463,8 @@ the GTK 4 API reference.</p>
|
||||||
<p>The handler corresponding to <code>btn1</code> toggles its label. The
|
<p>The handler corresponding to <code>btn1</code> toggles its label. The
|
||||||
handler corresponding to <code>btn2</code> destroys the top-level window
|
handler corresponding to <code>btn2</code> destroys the top-level window
|
||||||
and the application quits.</p>
|
and the application quits.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="widgets-2">Widgets (2)</h1>
|
<h1 id="widgets-2">Widgets (2)</h1>
|
||||||
<h2 id="gtktextview-gtktextbuffer-and-gtkscrolledwindow">GtkTextView,
|
<h2 id="gtktextview-gtktextbuffer-and-gtkscrolledwindow">GtkTextView,
|
||||||
GtkTextBuffer and GtkScrolledWindow</h2>
|
GtkTextBuffer and GtkScrolledWindow</h2>
|
||||||
|
@ -278,6 +280,8 @@ class="sourceCode numberSource C numberLines"><code class="sourceCode c"><span i
|
||||||
<p>Compile and run it.</p>
|
<p>Compile and run it.</p>
|
||||||
<p>Now, the window doesn’t extend even if you type a lot of characters,
|
<p>Now, the window doesn’t extend even if you type a lot of characters,
|
||||||
it just scrolls.</p>
|
it just scrolls.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="strings-and-memory-management">Strings and memory
|
<h1 id="strings-and-memory-management">Strings and memory
|
||||||
management</h1>
|
management</h1>
|
||||||
<p>GtkTextView and GtkTextBuffer have functions that have string
|
<p>GtkTextView and GtkTextBuffer have functions that have string
|
||||||
|
@ -304,6 +306,8 @@ function.</p>
|
||||||
<span id="cb12-10"><a href="#cb12-10" aria-hidden="true" tabindex="-1"></a> GtkLabel<span class="op">*</span> self<span class="op">,</span></span>
|
<span id="cb12-10"><a href="#cb12-10" aria-hidden="true" tabindex="-1"></a> GtkLabel<span class="op">*</span> self<span class="op">,</span></span>
|
||||||
<span id="cb12-11"><a href="#cb12-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">const</span> <span class="dt">char</span><span class="op">*</span> str</span>
|
<span id="cb12-11"><a href="#cb12-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">const</span> <span class="dt">char</span><span class="op">*</span> str</span>
|
||||||
<span id="cb12-12"><a href="#cb12-12" aria-hidden="true" tabindex="-1"></a><span class="op">)</span></span></code></pre></div>
|
<span id="cb12-12"><a href="#cb12-12" aria-hidden="true" tabindex="-1"></a><span class="op">)</span></span></code></pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="widgets-3">Widgets (3)</h1>
|
<h1 id="widgets-3">Widgets (3)</h1>
|
||||||
<h2 id="open-signal">Open signal</h2>
|
<h2 id="open-signal">Open signal</h2>
|
||||||
<h3 id="g_application_handles_open-flag">G_APPLICATION_HANDLES_OPEN
|
<h3 id="g_application_handles_open-flag">G_APPLICATION_HANDLES_OPEN
|
||||||
|
@ -461,6 +463,8 @@ function <code>g_clear_error (&err)</code> works like
|
||||||
<li>53-56: If at least one page exists, the window is shown. Otherwise,
|
<li>53-56: If at least one page exists, the window is shown. Otherwise,
|
||||||
the window is destroyed and the application quits.</li>
|
the window is destroyed and the application quits.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="defining-a-final-class">Defining a final class</h1>
|
<h1 id="defining-a-final-class">Defining a final class</h1>
|
||||||
<h2 id="a-very-simple-editor">A very simple editor</h2>
|
<h2 id="a-very-simple-editor">A very simple editor</h2>
|
||||||
<p>We made a very simple file viewer in the previous section. Now we go
|
<p>We made a very simple file viewer in the previous section. Now we go
|
||||||
|
@ -498,6 +500,8 @@ modified.</p>
|
||||||
<p>Now we got a very simple editor. It’s not smart. We need more
|
<p>Now we got a very simple editor. It’s not smart. We need more
|
||||||
features like open, save, saveas, change font and so on. We will add
|
features like open, save, saveas, change font and so on. We will add
|
||||||
them in the next section and after.</p>
|
them in the next section and after.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -111,6 +111,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="gtkbuilder-and-ui-file">GtkBuilder and UI file</h1>
|
<h1 id="gtkbuilder-and-ui-file">GtkBuilder and UI file</h1>
|
||||||
<h2 id="new-open-and-save-button">New, Open and Save button</h2>
|
<h2 id="new-open-and-save-button">New, Open and Save button</h2>
|
||||||
<p>We made very simple editor in the previous section. It reads files at
|
<p>We made very simple editor in the previous section. It reads files at
|
||||||
|
@ -582,6 +584,8 @@ $ ./a.out tfe2.c</code></pre>
|
||||||
beginning of this page.</p>
|
beginning of this page.</p>
|
||||||
<p>Generally, resource is the best way for C language. If you use other
|
<p>Generally, resource is the best way for C language. If you use other
|
||||||
languages like Ruby, string is better than resource.</p>
|
languages like Ruby, string is better than resource.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -105,6 +105,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="tfetextview-api-reference">TfeTextView API reference</h1>
|
<h1 id="tfetextview-api-reference">TfeTextView API reference</h1>
|
||||||
<h2 id="description">Description</h2>
|
<h2 id="description">Description</h2>
|
||||||
<p>TfeTextView is a child object of GtkTextView. If its contents comes
|
<p>TfeTextView is a child object of GtkTextView. If its contents comes
|
||||||
|
@ -238,6 +240,8 @@ signal informs the status of file I/O operation.</p>
|
||||||
<li>TFE_OPEN_RESPONSE_ERROR: An error happened during the opening or
|
<li>TFE_OPEN_RESPONSE_ERROR: An error happened during the opening or
|
||||||
reading process.</li>
|
reading process.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>GTK 4 tutorial</title>
|
<title>GTK 4 tutorial</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -105,6 +105,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
<h1 id="turtle-manual">Turtle manual</h1>
|
<h1 id="turtle-manual">Turtle manual</h1>
|
||||||
<p>Turtle is a simple interpreter for turtle graphics.</p>
|
<p>Turtle is a simple interpreter for turtle graphics.</p>
|
||||||
<h2 id="prerequisite-and-compiling">Prerequisite and compiling</h2>
|
<h2 id="prerequisite-and-compiling">Prerequisite and compiling</h2>
|
||||||
|
@ -506,6 +508,8 @@ expression:
|
||||||
| ID
|
| ID
|
||||||
| NUM /* NUM is a number */
|
| NUM /* NUM is a number */
|
||||||
;</code></pre>
|
;</code></pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -444,7 +444,7 @@ The repository not only stores source files but also shows the whole tutorial.
|
||||||
Src.md files can be translated to html files.
|
Src.md files can be translated to html files.
|
||||||
You need pandoc to do this.
|
You need pandoc to do this.
|
||||||
Most linux distribution has pandoc package.
|
Most linux distribution has pandoc package.
|
||||||
Refer to your distribution document to install it.
|
Refer to your distribution document to install.
|
||||||
|
|
||||||
Type `rake html` to generate html files.
|
Type `rake html` to generate html files.
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ You need:
|
||||||
|
|
||||||
- Linux.
|
- Linux.
|
||||||
- Ruby programming language.
|
- Ruby programming language.
|
||||||
There are two ways to install it.
|
There are two ways to install.
|
||||||
One is installing the distribution's package.
|
One is installing the distribution's package.
|
||||||
The other is using rbenv and ruby-build.
|
The other is using rbenv and ruby-build.
|
||||||
If you want to use the latest version of ruby, use rbenv.
|
If you want to use the latest version of ruby, use rbenv.
|
||||||
|
@ -43,7 +43,7 @@ GTK4-tutorial repository contains tutorial documents and programs such as conver
|
||||||
All of them make up the 'GTK4-tutorial' package.
|
All of them make up the 'GTK4-tutorial' package.
|
||||||
This package is simply called 'GTK4-tutorial' in the following description.
|
This package is simply called 'GTK4-tutorial' in the following description.
|
||||||
|
|
||||||
GTK4-tutorial is free; you can redistribute it and/or modify it under terms of the following licenses.
|
GTK4-tutorial is free; you can redistribute it and/or modify it under the terms of the following licenses.
|
||||||
|
|
||||||
- The license of documents in GTK4-tutorial is the GNU Free Documentation License as published by the Free Software Foundation; either version 1.3 of the License or, at your opinion, any later version.
|
- The license of documents in GTK4-tutorial is the GNU Free Documentation License as published by the Free Software Foundation; either version 1.3 of the License or, at your opinion, any later version.
|
||||||
The documents are Markdown, HTML and image files.
|
The documents are Markdown, HTML and image files.
|
||||||
|
|
14
gfm/sec2.md
14
gfm/sec2.md
|
@ -14,7 +14,7 @@ There are two ways to install GTK 4.
|
||||||
### Installation from the distribution packages
|
### Installation from the distribution packages
|
||||||
|
|
||||||
The first way is the easiest way to install.
|
The first way is the easiest way to install.
|
||||||
I've installed GTK 4 packages (version 4.10.1) on Ubuntu 23.04.
|
I've installed GTK 4 packages (version 4.12.2) on Ubuntu 23.10.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
$ sudo apt install libgtk-4-dev
|
$ sudo apt install libgtk-4-dev
|
||||||
|
@ -29,12 +29,12 @@ The following table shows the distributions which support GTK 4.
|
||||||
|
|
||||||
|Distribution| version | GTK 4 | GNOME |
|
|Distribution| version | GTK 4 | GNOME |
|
||||||
|:----------:|:-------------------------:|:-----------:|:----------:|
|
|:----------:|:-------------------------:|:-----------:|:----------:|
|
||||||
| Fedora | 38 |4.10.3-2.fc38| GNOME 44 |
|
| Fedora | 39 |4.12.2-2.fc39| GNOME 45 |
|
||||||
| Ubuntu | 23.04 | 4.10.1 | GNOME 44 |
|
| Ubuntu | 23.10 | 4.12.2 | GNOME 45 |
|
||||||
| Debian | bookworm(testing) | 4.8.3+ds-2 |GNOME 43.4-1|
|
| Debian | trixie(testing) | 4.12.3+ds-3 | GNOME 44.5 |
|
||||||
| Arch | rolling release | 4.10.3-1 |GNOME 43.5-1|
|
| Arch | rolling release | 4.12.4-1 |GNOME 45.2-1|
|
||||||
| Gentoo | rolling release | 4.10.3 | GNOME 44.1 |
|
| Gentoo | rolling release | 4.12.3 | GNOME 45.1 |
|
||||||
| OpenSUSE |Tumbleweed(rolling release)| 4.10.3 | GNOME 44.1 |
|
| OpenSUSE |Tumbleweed(rolling release)| 4.12.4 | GNOME 45.2 |
|
||||||
|
|
||||||
### Installation from the source file
|
### Installation from the source file
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ Otherwise the unit is point.
|
||||||
## GSettings
|
## GSettings
|
||||||
|
|
||||||
We want to maintain the font data after the application quits.
|
We want to maintain the font data after the application quits.
|
||||||
There are some ways to implement it.
|
There are some ways to implement.
|
||||||
|
|
||||||
- Make a configuration file.
|
- Make a configuration file.
|
||||||
For example, a text file "~/.config/tfe/font_desc.cfg" keeps font information.
|
For example, a text file "~/.config/tfe/font_desc.cfg" keeps font information.
|
||||||
|
|
|
@ -291,7 +291,7 @@ The function is given the item (GFileInfo) of the GtkSortListModel as an argumen
|
||||||
But you need to be careful that it can be NULL while the list item is being recycled.
|
But you need to be careful that it can be NULL while the list item is being recycled.
|
||||||
So, `G_IS_FILE_INFO (info)` is always necessary in callback functions.
|
So, `G_IS_FILE_INFO (info)` is always necessary in callback functions.
|
||||||
The function retrieves a filename from `info`.
|
The function retrieves a filename from `info`.
|
||||||
The string is owned by `info` so it is necessary to duplicate it.
|
The string is owned by `info` so it is necessary to duplicate.
|
||||||
And it returns the copied string.
|
And it returns the copied string.
|
||||||
|
|
||||||
GtkNumericSorter compares numbers.
|
GtkNumericSorter compares numbers.
|
||||||
|
|
|
@ -8,7 +8,7 @@ def mk_html_template(home, sec_prev, sec_next)
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="generator" content="pandoc" />
|
<meta name="generator" content="pandoc" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
|
||||||
<title>$title$</title>
|
<title>$title$</title>
|
||||||
<style>
|
<style>
|
||||||
code{white-space: pre-wrap;}
|
code{white-space: pre-wrap;}
|
||||||
|
@ -106,7 +106,11 @@ def mk_html_template(home, sec_prev, sec_next)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-xl-10 col-xxl-9">
|
||||||
$body$
|
$body$
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -12,7 +12,7 @@ There are two ways to install GTK 4.
|
||||||
### Installation from the distribution packages
|
### Installation from the distribution packages
|
||||||
|
|
||||||
The first way is the easiest way to install.
|
The first way is the easiest way to install.
|
||||||
I've installed GTK 4 packages (version 4.10.1) on Ubuntu 23.04.
|
I've installed GTK 4 packages (version 4.12.2) on Ubuntu 23.10.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
$ sudo apt install libgtk-4-dev
|
$ sudo apt install libgtk-4-dev
|
||||||
|
@ -28,12 +28,12 @@ The following table shows the distributions which support GTK 4.
|
||||||
@@@table
|
@@@table
|
||||||
|Distribution|version|GTK 4|GNOME|
|
|Distribution|version|GTK 4|GNOME|
|
||||||
|:-:|:-:|:-:|:-:|
|
|:-:|:-:|:-:|:-:|
|
||||||
|Fedora|38|4.10.3-2.fc38|GNOME 44|
|
|Fedora|39|4.12.2-2.fc39|GNOME 45|
|
||||||
|Ubuntu|23.04|4.10.1|GNOME 44|
|
|Ubuntu|23.10|4.12.2|GNOME 45|
|
||||||
|Debian|bookworm(testing)|4.8.3+ds-2|GNOME 43.4-1|
|
|Debian|trixie(testing)|4.12.3+ds-3|GNOME 44.5|
|
||||||
|Arch|rolling release|4.10.3-1|GNOME 43.5-1|
|
|Arch|rolling release|4.12.4-1|GNOME 45.2-1|
|
||||||
|Gentoo|rolling release|4.10.3|GNOME 44.1|
|
|Gentoo|rolling release|4.12.3|GNOME 45.1|
|
||||||
|OpenSUSE|Tumbleweed(rolling release)|4.10.3|GNOME 44.1|
|
|OpenSUSE|Tumbleweed(rolling release)|4.12.4|GNOME 45.2|
|
||||||
@@@
|
@@@
|
||||||
|
|
||||||
### Installation from the source file
|
### Installation from the source file
|
||||||
|
|
Loading…
Reference in a new issue