Gtk4-tutorial/docs/tfetextview_doc.html
Toshio Sekiya 7b14d03a24 Change the width of HTML contents.
Update the distribution package information.
2023-12-10 16:39:32 +08:00

248 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<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>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
pre{overflow: visible;}
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::after
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
div.sourceCode { margin: 10px; padding: 16px 10px 8px 10px; border: 2px solid silver; background-color: ghostwhite; overflow-x:scroll}
pre:not(.sourceCode) { margin: 10px; padding: 16px 10px 8px 10px; border: 2px solid silver; background-color: ghostwhite; overflow-x:scroll}
table {margin-left: auto; margin-right: auto; border-collapse: collapse; border: 1px solid;}
th {padding: 2px 6px; border: 1px solid; background-color: ghostwhite;}
td {padding: 2px 6px; border: 1px solid;}
img {display: block; margin-left: auto; margin-right: auto;}
figcaption {text-align: center;}
</style>
</head>
<body style="padding-top: 70px;">
<div class="container">
<nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
<div class="container-fluid">
<span class="navbar-brand">Gtk4 tutorial</span>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="index.html">Home</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="row justify-content-center">
<div class="col-xl-10 col-xxl-9">
<h1 id="tfetextview-api-reference">TfeTextView API reference</h1>
<h2 id="description">Description</h2>
<p>TfeTextView is a child object of GtkTextView. If its contents comes
from a file, it holds the pointer to the GFile. Otherwise, the pointer
is NULL.</p>
<h2 id="hierarchy">Hierarchy</h2>
<pre><code>GObject -- GInitiallyUnowned -- GtkWidget -- GtkTextView -- TfeTextView</code></pre>
<h2 id="ancestors">Ancestors</h2>
<ul>
<li>GtkTextView</li>
<li>GtkWidget</li>
<li>GInitiallyUnowned</li>
<li>GObject</li>
</ul>
<h2 id="constructors">Constructors</h2>
<ul>
<li>tfe_text_view_new ()</li>
<li>tfe_text_view_new_with_file ()</li>
</ul>
<h2 id="instance-methods">Instance methods</h2>
<ul>
<li>tfe_text_view_get_file ()</li>
<li>tfe_text_view_open ()</li>
<li>tfe_text_view_save ()</li>
<li>tfe_text_view_saveas ()</li>
</ul>
<h2 id="signals">Signals</h2>
<ul>
<li>Tfe.TextView::change-file</li>
<li>Tfe.TextView::open-response</li>
</ul>
<h2 id="api-for-constructors-instance-methods-and-signals">API for
constructors, instance methods and signals</h2>
<p><strong>constructors</strong></p>
<h3 id="tfe_text_view_new">tfe_text_view_new()</h3>
<pre><code>GtkWidget *
tfe_text_view_new (void);</code></pre>
<p>Creates a new TfeTextView instance and returns the pointer to it as
GtkWidget. If an error happens, it returns <code>NULL</code>.</p>
<p>Return value</p>
<ul>
<li>a new TfeTextView.</li>
</ul>
<h3 id="tfe_text_view_new_with_file">tfe_text_view_new_with_file()</h3>
<pre><code>GtkWidget *
tfe_text_view_new_with_file (GFile *file);</code></pre>
<p>Creates a new TfeTextView, reads the contents of the
<code>file</code> and set it to the GtkTextBuffer corresponds to the
newly created TfeTextView. Then returns the pointer to the TfeTextView
as GtkWidget. If an error happens, it returns <code>NULL</code>.</p>
<p>Parameters</p>
<ul>
<li>file: a GFile</li>
</ul>
<p>Return value</p>
<ul>
<li>a new TfeTextView.</li>
</ul>
<p><strong>Instance methods</strong></p>
<h3 id="tfe_text_view_get_file">tfe_text_view_get_file()</h3>
<pre><code>GFile *
tfe_text_view_get_file (TfeTextView *tv);</code></pre>
<p>Returns the copy of the GFile in the TfeTextView.</p>
<p>Parameters</p>
<ul>
<li>tv: a TfeTextView</li>
</ul>
<p>Return value</p>
<ul>
<li>the pointer to the GFile</li>
</ul>
<h3 id="tfe_text_view_open">tfe_text_view_open()</h3>
<pre><code>void
tfe_text_view_open (TfeTextView *tv, GtkWidget *win);</code></pre>
<p>Shows a file chooser dialog so that a user can choose a file to read.
Then, read the file and set the buffer with the contents. This function
doesnt return the I/O status. Instead, the status is informed by
<code>open-response</code> signal. The caller needs to set a handler to
this signal in advance.</p>
<p>parameters</p>
<ul>
<li>tv: a TfeTextView</li>
<li>win: the top level window</li>
</ul>
<h3 id="tfe_text_view_save">tfe_text_view_save()</h3>
<pre><code>void
tfe_text_view_save (TfeTextView *tv);</code></pre>
<p>Saves the contents of the buffer to the file. If <code>tv</code>
holds a GFile, it is used. Otherwise, this function shows a file chooser
dialog so that the user can choose a file to save.</p>
<p>Parameters</p>
<ul>
<li>tv: a TfeTextView</li>
</ul>
<h3 id="tfe_text_view_saveas">tfe_text_view_saveas()</h3>
<pre><code>void
tfe_text_view_saveas (TfeTextView *tv);</code></pre>
<p>Saves the contents of the buffer to a file. This function shows file
chooser dialog so that a user can choose a file to save.</p>
<p>Parameters</p>
<ul>
<li>tv: a TfeTextView</li>
</ul>
<p><strong>Signals</strong></p>
<h3 id="change-file">change-file</h3>
<pre><code>void
user_function (TfeTextView *tv,
gpointer user_data)</code></pre>
<p>Emitted when the GFile in the TfeTextView object is changed. The
signal is emitted when:</p>
<ul>
<li>a new file is opened and read</li>
<li>a user chooses a file with the file chooser dialog and save the
contents.</li>
</ul>
<h3 id="open-response">open-response</h3>
<pre><code>void
user_function (TfeTextView *tv,
TfeTextViewOpenResponseType response-id,
gpointer user_data)</code></pre>
<p>Emitted after the user calls <code>tfe_text_view_open</code>. This
signal informs the status of file I/O operation.</p>
<p><strong>Enumerations</strong></p>
<h3 id="tfetextviewopenresponsetype">TfeTextViewOpenResponseType</h3>
<p>Predefined values for the response id given by
<code>open-response</code> signal.</p>
<p>Members:</p>
<ul>
<li>TFE_OPEN_RESPONSE_SUCCESS: The file is successfully opened.</li>
<li>TFE_OPEN_RESPONSE_CANCEL: Reading file is canceled by the user.</li>
<li>TFE_OPEN_RESPONSE_ERROR: An error happened during the opening or
reading process.</li>
</ul>
</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>
</body>
</html>