Compare commits
12 Commits
event-cont
...
radio-grou
Author | SHA1 | Date | |
---|---|---|---|
|
12806d08f8 | ||
|
d285e9dbf5 | ||
|
d19c6228d5 | ||
|
5f62ba2693 | ||
|
f03481c4f2 | ||
|
5324e62ab0 | ||
|
9631d82de8 | ||
|
8e0cb2ad30 | ||
|
67ced1e28a | ||
|
f26f253118 | ||
|
ac63f89763 | ||
|
ba3590f770 |
1
.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
/subprojects/*/
|
|
119
.gitlab-ci.yml
@@ -1,119 +0,0 @@
|
|||||||
stages:
|
|
||||||
- build
|
|
||||||
- flatpak
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
.cache-paths: &cache-paths
|
|
||||||
paths:
|
|
||||||
- _ccache/
|
|
||||||
- subprojects/gdk-pixbuf/
|
|
||||||
- subprojects/glib/
|
|
||||||
- subprojects/graphene/
|
|
||||||
- subprojects/libepoxy/
|
|
||||||
- subprojects/pango/
|
|
||||||
|
|
||||||
fedora-x86_64:
|
|
||||||
image: registry.gitlab.gnome.org/gnome/gtk/master:v5
|
|
||||||
stage: build
|
|
||||||
script:
|
|
||||||
- bash -x ./.gitlab-ci/test-docker.sh
|
|
||||||
artifacts:
|
|
||||||
when: always
|
|
||||||
reports:
|
|
||||||
junit:
|
|
||||||
- "${CI_PROJECT_DIR}/_build/report.xml"
|
|
||||||
name: "gtk-${CI_COMMIT_REF_NAME}"
|
|
||||||
paths:
|
|
||||||
- "${CI_PROJECT_DIR}/_build/meson-logs"
|
|
||||||
- "${CI_PROJECT_DIR}/_build/report.xml"
|
|
||||||
- "${CI_PROJECT_DIR}/_build/report.html"
|
|
||||||
- "${CI_PROJECT_DIR}/_build/testsuite/reftests/output/*.png"
|
|
||||||
cache:
|
|
||||||
key: "$CI_JOB_NAME"
|
|
||||||
<<: *cache-paths
|
|
||||||
|
|
||||||
.mingw-defaults: &mingw-defaults
|
|
||||||
stage: build
|
|
||||||
tags:
|
|
||||||
- win32
|
|
||||||
script:
|
|
||||||
- C:\msys64\usr\bin\pacman --noconfirm -Syyuu
|
|
||||||
- C:\msys64\usr\bin\bash -lc "bash -x ./.gitlab-ci/test-msys2.sh"
|
|
||||||
cache:
|
|
||||||
key: "%CI_JOB_NAME%"
|
|
||||||
<<: *cache-paths
|
|
||||||
|
|
||||||
msys2-mingw32:
|
|
||||||
variables:
|
|
||||||
MSYSTEM: "MINGW32"
|
|
||||||
CHERE_INVOKING: "yes"
|
|
||||||
<<: *mingw-defaults
|
|
||||||
|
|
||||||
.flatpak-defaults: &flatpak-defaults
|
|
||||||
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
|
|
||||||
stage: flatpak
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "${APPID}-dev.flatpak"
|
|
||||||
expire_in: 1 day
|
|
||||||
script:
|
|
||||||
- bash -x ./.gitlab-ci/flatpak-build.sh "${APPID}"
|
|
||||||
|
|
||||||
# Manual jobs, for branches and MRs
|
|
||||||
.flatpak-manual: &flatpak-manual
|
|
||||||
<<: *flatpak-defaults
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
# Only build Flatpak bundles automatically on master
|
|
||||||
.flatpak-master: &flatpak-master
|
|
||||||
<<: *flatpak-defaults
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
|
|
||||||
flatpak-manual:demo:
|
|
||||||
variables:
|
|
||||||
APPID: org.gtk.Demo4
|
|
||||||
<<: *flatpak-manual
|
|
||||||
|
|
||||||
flatpak-master:demo:
|
|
||||||
variables:
|
|
||||||
APPID: org.gtk.Demo4
|
|
||||||
<<: *flatpak-master
|
|
||||||
|
|
||||||
flatpak-manual:widget-factory:
|
|
||||||
variables:
|
|
||||||
APPID: org.gtk.WidgetFactory4
|
|
||||||
<<: *flatpak-manual
|
|
||||||
|
|
||||||
flatpak-master:widget-factory:
|
|
||||||
variables:
|
|
||||||
APPID: org.gtk.WidgetFactory4
|
|
||||||
<<: *flatpak-master
|
|
||||||
|
|
||||||
flatpak-manual:icon-browser:
|
|
||||||
variables:
|
|
||||||
APPID: org.gtk.IconBrowser4
|
|
||||||
<<: *flatpak-manual
|
|
||||||
|
|
||||||
flatpak-master:icon-browser:
|
|
||||||
variables:
|
|
||||||
APPID: org.gtk.IconBrowser4
|
|
||||||
<<: *flatpak-master
|
|
||||||
|
|
||||||
pages:
|
|
||||||
image: registry.gitlab.gnome.org/gnome/gtk/master:v4
|
|
||||||
stage: deploy
|
|
||||||
script:
|
|
||||||
- meson -Ddocumentation=true _build .
|
|
||||||
- ninja -C _build
|
|
||||||
- ninja -C _build gdk4-doc gsk4-doc gtk4-doc
|
|
||||||
|
|
||||||
- mkdir -p public/
|
|
||||||
- mv _build/docs/reference/gtk/html/ public/gtk/
|
|
||||||
- mv _build/docs/reference/gdk/html/ public/gdk/
|
|
||||||
- mv _build/docs/reference/gsk/html/ public/gsk/
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- public
|
|
||||||
only:
|
|
||||||
- master
|
|
@@ -1,85 +0,0 @@
|
|||||||
FROM fedora:29
|
|
||||||
|
|
||||||
RUN dnf -y install \
|
|
||||||
hicolor-icon-theme \
|
|
||||||
adwaita-icon-theme \
|
|
||||||
atk-devel \
|
|
||||||
at-spi2-atk-devel \
|
|
||||||
avahi-gobject-devel \
|
|
||||||
cairo-devel \
|
|
||||||
cairo-gobject-devel \
|
|
||||||
ccache \
|
|
||||||
colord-devel \
|
|
||||||
cups-devel \
|
|
||||||
dejavu-sans-mono-fonts \
|
|
||||||
desktop-file-utils \
|
|
||||||
elfutils-libelf-devel \
|
|
||||||
fribidi-devel \
|
|
||||||
gcc \
|
|
||||||
gcc-c++ \
|
|
||||||
gdk-pixbuf2-devel \
|
|
||||||
gdk-pixbuf2-modules \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
glib2-devel \
|
|
||||||
glibc-devel \
|
|
||||||
glibc-headers \
|
|
||||||
gobject-introspection-devel \
|
|
||||||
graphene-devel \
|
|
||||||
gstreamer1-devel \
|
|
||||||
gstreamer1-plugins-good \
|
|
||||||
gstreamer1-plugins-bad-free-devel \
|
|
||||||
gstreamer1-plugins-base-devel \
|
|
||||||
gtk-doc \
|
|
||||||
iso-codes \
|
|
||||||
itstool \
|
|
||||||
json-glib-devel \
|
|
||||||
lcov \
|
|
||||||
libattr-devel \
|
|
||||||
libepoxy-devel \
|
|
||||||
libffi-devel \
|
|
||||||
libmount-devel \
|
|
||||||
librsvg2 \
|
|
||||||
libselinux-devel \
|
|
||||||
libXcomposite-devel \
|
|
||||||
libXcursor-devel \
|
|
||||||
libXcursor-devel \
|
|
||||||
libXdamage-devel \
|
|
||||||
libXfixes-devel \
|
|
||||||
libXi-devel \
|
|
||||||
libXinerama-devel \
|
|
||||||
libxkbcommon-devel \
|
|
||||||
libXrandr-devel \
|
|
||||||
libXrender-devel \
|
|
||||||
libxslt \
|
|
||||||
mesa-dri-drivers \
|
|
||||||
mesa-libEGL-devel \
|
|
||||||
mesa-libwayland-egl-devel \
|
|
||||||
ninja-build \
|
|
||||||
pango-devel \
|
|
||||||
pcre-devel \
|
|
||||||
python3 \
|
|
||||||
python3-pip \
|
|
||||||
python3-wheel \
|
|
||||||
redhat-rpm-config \
|
|
||||||
sassc \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
vulkan-devel \
|
|
||||||
wayland-devel \
|
|
||||||
wayland-protocols-devel \
|
|
||||||
which \
|
|
||||||
xorg-x11-server-Xvfb \
|
|
||||||
&& dnf clean all
|
|
||||||
|
|
||||||
RUN pip3 install meson==0.50.0
|
|
||||||
|
|
||||||
RUN pip3 install jinja2
|
|
||||||
|
|
||||||
ARG HOST_USER_ID=5555
|
|
||||||
ENV HOST_USER_ID ${HOST_USER_ID}
|
|
||||||
RUN useradd -u $HOST_USER_ID -ms /bin/bash user
|
|
||||||
|
|
||||||
USER user
|
|
||||||
WORKDIR /home/user
|
|
||||||
|
|
||||||
ENV LANG C.UTF-8
|
|
@@ -1,44 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
appid=$1
|
|
||||||
|
|
||||||
builddir=app
|
|
||||||
repodir=repo
|
|
||||||
|
|
||||||
flatpak-builder \
|
|
||||||
--stop-at=gtk \
|
|
||||||
${builddir} \
|
|
||||||
build-aux/flatpak/${appid}.json
|
|
||||||
|
|
||||||
flatpak-builder \
|
|
||||||
--run ${builddir} build-aux/flatpak/${appid}.json \
|
|
||||||
meson \
|
|
||||||
--prefix /app \
|
|
||||||
--libdir /app/lib \
|
|
||||||
--buildtype debug \
|
|
||||||
-Dx11-backend=true \
|
|
||||||
-Dwayland-backend=true \
|
|
||||||
-Dprint-backends=file \
|
|
||||||
-Dbuild-tests=false \
|
|
||||||
-Dbuild-examples=false \
|
|
||||||
-Dintrospection=false \
|
|
||||||
-Ddemos=true \
|
|
||||||
_build .
|
|
||||||
|
|
||||||
flatpak-builder \
|
|
||||||
--run ${builddir} build-aux/flatpak/${appid}.json \
|
|
||||||
ninja -C _build install
|
|
||||||
|
|
||||||
flatpak-builder \
|
|
||||||
--finish-only \
|
|
||||||
--repo=${repodir} \
|
|
||||||
${builddir} \
|
|
||||||
build-aux/flatpak/${appid}.json
|
|
||||||
|
|
||||||
flatpak build-bundle \
|
|
||||||
${repodir} \
|
|
||||||
${appid}-dev.flatpak \
|
|
||||||
--runtime-repo=https://flathub.org/repo/flathub.flatpakrepo \
|
|
||||||
${appid}
|
|
@@ -1,363 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
# Turns a Mason testlog.json file into an HTML report
|
|
||||||
#
|
|
||||||
# Copyright 2019 GNOME Foundation
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
||||||
#
|
|
||||||
# Original author: Emmanuele Bassi
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
import datetime
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
from jinja2 import Template
|
|
||||||
|
|
||||||
REPORT_TEMPLATE = '''
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<title>{{ report.project_name }} Test Report</title>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<style type="text/css">
|
|
||||||
body {
|
|
||||||
background: white;
|
|
||||||
color: #333;
|
|
||||||
font-family: 'Cantarell', sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
color: #333333;
|
|
||||||
font-size: 1.9em;
|
|
||||||
font-weight: normal;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
border-bottom: 1px solid #333333;
|
|
||||||
}
|
|
||||||
|
|
||||||
header {
|
|
||||||
position: fixed;
|
|
||||||
padding-bottom: 12px;
|
|
||||||
margin-bottom: 24px;
|
|
||||||
background: rgba(255, 255, 255, 0.85);
|
|
||||||
box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
|
|
||||||
z-index: 500;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
width: 100%;
|
|
||||||
color: rgba(0, 0, 0, 0.3);
|
|
||||||
transform: translateY(0px);
|
|
||||||
transition: .2s background-color, color;
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: block;
|
|
||||||
visibility: visible;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
article {
|
|
||||||
padding-top: 200px;
|
|
||||||
margin: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.report-meta {
|
|
||||||
width: auto;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
padding: .5em 2em;
|
|
||||||
color: #3c3c3c;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.result {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.pass {
|
|
||||||
color: rgb(51, 209, 122);
|
|
||||||
}
|
|
||||||
|
|
||||||
span.skip {
|
|
||||||
color: rgb(255, 163, 72);
|
|
||||||
}
|
|
||||||
|
|
||||||
span.fail {
|
|
||||||
color: rgb(224, 27, 36);
|
|
||||||
}
|
|
||||||
|
|
||||||
span.xfail {
|
|
||||||
color: rgb(163, 71, 186);
|
|
||||||
}
|
|
||||||
|
|
||||||
div.result {
|
|
||||||
border-top: 1px solid #c0c0c0;
|
|
||||||
padding-top: 1em;
|
|
||||||
padding-bottom: 1em;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.result h4 {
|
|
||||||
border-bottom: 1px solid #c0c0c0;
|
|
||||||
margin-bottom: 0.7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
color: #fafafa;
|
|
||||||
background-color: black;
|
|
||||||
border-radius: 6px;
|
|
||||||
box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.25);
|
|
||||||
font-family: monospace;
|
|
||||||
line-height: 1.2em;
|
|
||||||
border: none;
|
|
||||||
padding: 10px 1em;
|
|
||||||
font-size: 0.9em;
|
|
||||||
overflow: auto;
|
|
||||||
white-space: pre;
|
|
||||||
word-break: normal;
|
|
||||||
word-wrap: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.passed li {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.passed li:after {
|
|
||||||
content: ",";
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.passed li:last-child:after {
|
|
||||||
content: "";
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.images {
|
|
||||||
padding-bottom: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.images li {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header>
|
|
||||||
<h1>{{ report.project_name }} :: Test Reports</h1>
|
|
||||||
<div class="report-meta">
|
|
||||||
<p><strong>Branch:</strong> {{ report.branch_name }}</p>
|
|
||||||
<p><strong>Date:</strong> <time datetime="{{ report.date.isoformat() }}">{{ report.locale_date }}</time></p>
|
|
||||||
{% if report.job_id %}<p><strong>Job ID:</strong> {{ report.job_id }}</p>{% endif %}
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<article>
|
|
||||||
<section>
|
|
||||||
<div class="summary">
|
|
||||||
<h3>Summary</h3>
|
|
||||||
<ul>
|
|
||||||
<li><strong>Total units:</strong> {{ report.total_units }}</li>
|
|
||||||
<li><strong>Passed:</strong> {{ report.total_successes }}</li>
|
|
||||||
<li><strong>Failed:</strong> {{ report.total_failures }}</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
{% for suite_result in report.results_list %}
|
|
||||||
<section>
|
|
||||||
<div class="result">
|
|
||||||
<h3>Suite: {{ suite_result.suite_name }}</h3>
|
|
||||||
<ul>
|
|
||||||
<li><strong>Units:</strong> {{ suite_result.n_units }}</li>
|
|
||||||
<li><strong>Passed:</strong> {{ suite_result.n_successes }}</li>
|
|
||||||
<li><strong>Failed:</strong> {{ suite_result.n_failures }}</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div class="successes">
|
|
||||||
<h4>Passed</h4>
|
|
||||||
<ul class="passed">
|
|
||||||
{% for success in suite_result.successes if success.result == 'OK' %}
|
|
||||||
<li>{{ success.name }} - result: <span class="result pass">{{ success.result }}</li>
|
|
||||||
{% else %}
|
|
||||||
<li>None</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h4>Skipped</h4>
|
|
||||||
<ul>
|
|
||||||
{% for success in suite_result.successes if success.result == 'SKIP' %}
|
|
||||||
<li>{{ success.name }} - result: <span class="result skip">{{ success.result }}</li>
|
|
||||||
{% else %}
|
|
||||||
<li>None</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h4>Expected failures</h4>
|
|
||||||
<ul>
|
|
||||||
{% for success in suite_result.successes if success.result == 'EXPECTEDFAIL' %}
|
|
||||||
<li>{{ success.name }} - result: <span class="result xfail">{{ success.result }}</span><br/>
|
|
||||||
{% if success.stdout %}
|
|
||||||
Output: <pre>{{ success.stdout }}</pre>
|
|
||||||
{% endif %}
|
|
||||||
{% if success.image_data is defined %}
|
|
||||||
<ul class="images">
|
|
||||||
<li><img alt="ref" src="{{ success.image_data.ref }}" /></li>
|
|
||||||
<li><img alt="out" src="{{ success.image_data.out }}" /></li>
|
|
||||||
<li><img alt="diff" src="{{ success.image_data.diff }}" /></li>
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<li>None</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="failures">
|
|
||||||
<h4>Failed</h4>
|
|
||||||
<ul class="failed">
|
|
||||||
{% for failure in suite_result.failures if failure.result == 'FAIL' %}
|
|
||||||
<li>{{ failure.name }} - result: <span class="result fail">{{ failure.result }}</span><br/>
|
|
||||||
{% if failure.stdout %}
|
|
||||||
Output: <pre>{{ failure.stdout }}</pre>
|
|
||||||
{% endif %}
|
|
||||||
{% if failure.image_data is defined %}
|
|
||||||
<ul class="images">
|
|
||||||
<li><img alt="ref" src="{{ failure.image_data.ref }}" /></li>
|
|
||||||
<li><img alt="out" src="{{ failure.image_data.out }}" /></li>
|
|
||||||
<li><img alt="diff" src="{{ failure.image_data.diff }}" /></li>
|
|
||||||
</ul>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<li>None</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h4>Timed out</h4>
|
|
||||||
<ul class="failed">
|
|
||||||
{% for failure in suite_result.failures if failure.result == 'TIMEOUT' %}
|
|
||||||
<li>{{ failure.name }} - result: <span class="result fail">{{ failure.result }}</span><br/>
|
|
||||||
{% if failure.stdout %}
|
|
||||||
Output: <pre>{{ failure.stdout }}</pre>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<li>None</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
</article>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
'''
|
|
||||||
|
|
||||||
aparser = argparse.ArgumentParser(description='Turns a Meson test log into an HTML report')
|
|
||||||
aparser.add_argument('--project-name', metavar='NAME',
|
|
||||||
help='The project name',
|
|
||||||
default='Unknown')
|
|
||||||
aparser.add_argument('--job-id', metavar='ID',
|
|
||||||
help='The job ID for the report',
|
|
||||||
default=None)
|
|
||||||
aparser.add_argument('--branch', metavar='NAME',
|
|
||||||
help='Branch of the project being tested',
|
|
||||||
default='master')
|
|
||||||
aparser.add_argument('--output', metavar='FILE',
|
|
||||||
help='The output HTML file, stdout by default',
|
|
||||||
type=argparse.FileType('w', encoding='UTF-8'),
|
|
||||||
default=sys.stdout)
|
|
||||||
aparser.add_argument('--reftest-suite', metavar='NAME',
|
|
||||||
help='The name of the reftests suite',
|
|
||||||
default='reftest')
|
|
||||||
aparser.add_argument('--reftest-output-dir', metavar='DIR',
|
|
||||||
help='The output directory for reftests data',
|
|
||||||
default=None)
|
|
||||||
aparser.add_argument('infile', metavar='FILE',
|
|
||||||
help='The input testlog.json, stdin by default',
|
|
||||||
type=argparse.FileType('r', encoding='UTF-8'),
|
|
||||||
default=sys.stdin)
|
|
||||||
|
|
||||||
args = aparser.parse_args()
|
|
||||||
|
|
||||||
outfile = args.output
|
|
||||||
|
|
||||||
suites = {}
|
|
||||||
for line in args.infile:
|
|
||||||
data = json.loads(line)
|
|
||||||
(full_suite, unit_name) = data['name'].split(' / ')
|
|
||||||
(project_name, suite_name) = full_suite.split(':')
|
|
||||||
|
|
||||||
unit = {
|
|
||||||
'project-name': project_name,
|
|
||||||
'suite': suite_name,
|
|
||||||
'name': unit_name,
|
|
||||||
'duration': data['duration'],
|
|
||||||
'returncode': data['returncode'],
|
|
||||||
'result': data['result'],
|
|
||||||
'stdout': data['stdout'],
|
|
||||||
}
|
|
||||||
|
|
||||||
if args.reftest_output_dir is not None and suite_name == args.reftest_suite:
|
|
||||||
filename = unit_name.split(' ')[1]
|
|
||||||
basename = os.path.splitext(filename)[0]
|
|
||||||
|
|
||||||
image_data = {
|
|
||||||
'ref': os.path.join(args.reftest_output_dir, '{}.ref.png'.format(basename)),
|
|
||||||
'out': os.path.join(args.reftest_output_dir, '{}.out.png'.format(basename)),
|
|
||||||
'diff': os.path.join(args.reftest_output_dir, '{}.diff.png'.format(basename)),
|
|
||||||
}
|
|
||||||
|
|
||||||
unit['image_data'] = image_data
|
|
||||||
|
|
||||||
units = suites.setdefault(full_suite, [])
|
|
||||||
units.append(unit)
|
|
||||||
|
|
||||||
report = {}
|
|
||||||
report['date'] = datetime.datetime.utcnow()
|
|
||||||
report['locale_date'] = report['date'].strftime("%c")
|
|
||||||
report['project_name'] = args.project_name
|
|
||||||
report['job_id'] = args.job_id
|
|
||||||
report['branch_name'] = args.branch
|
|
||||||
report['total_successes'] = 0
|
|
||||||
report['total_failures'] = 0
|
|
||||||
report['total_units'] = 0
|
|
||||||
report['results_list'] = []
|
|
||||||
|
|
||||||
for name, units in suites.items():
|
|
||||||
(project_name, suite_name) = name.split(':')
|
|
||||||
print('Processing {} suite {}:'.format(project_name, suite_name))
|
|
||||||
|
|
||||||
def if_failed(unit):
|
|
||||||
if unit['result'] in ['FAIL', 'TIMEOUT']:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def if_succeded(unit):
|
|
||||||
if unit['result'] in ['OK', 'EXPECTEDFAIL', 'SKIP']:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
successes = list(filter(if_succeded, units))
|
|
||||||
failures = list(filter(if_failed, units))
|
|
||||||
|
|
||||||
n_units = len(units)
|
|
||||||
n_successes = len(successes)
|
|
||||||
n_failures = len(failures)
|
|
||||||
|
|
||||||
report['total_units'] += n_units
|
|
||||||
report['total_successes'] += n_successes
|
|
||||||
report['total_failures'] += n_failures
|
|
||||||
print(' - {}: {} total, {} pass, {} fail'.format(suite_name, n_units, n_successes, n_failures))
|
|
||||||
|
|
||||||
suite_report = {
|
|
||||||
'suite_name': suite_name,
|
|
||||||
'n_units': n_units,
|
|
||||||
'successes': successes,
|
|
||||||
'n_successes': n_successes,
|
|
||||||
'failures': failures,
|
|
||||||
'n_failures': n_failures,
|
|
||||||
}
|
|
||||||
report['results_list'].append(suite_report)
|
|
||||||
|
|
||||||
template = Template(REPORT_TEMPLATE)
|
|
||||||
outfile.write(template.render({'report': report}))
|
|
@@ -1,109 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
# Turns a Meson testlog.json file into a JUnit XML report
|
|
||||||
#
|
|
||||||
# Copyright 2019 GNOME Foundation
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
||||||
#
|
|
||||||
# Original author: Emmanuele Bassi
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
import datetime
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import xml.etree.ElementTree as ET
|
|
||||||
|
|
||||||
aparser = argparse.ArgumentParser(description='Turns a Meson test log into a JUnit report')
|
|
||||||
aparser.add_argument('--project-name', metavar='NAME',
|
|
||||||
help='The project name',
|
|
||||||
default='unknown')
|
|
||||||
aparser.add_argument('--job-id', metavar='ID',
|
|
||||||
help='The job ID for the report',
|
|
||||||
default='Unknown')
|
|
||||||
aparser.add_argument('--branch', metavar='NAME',
|
|
||||||
help='Branch of the project being tested',
|
|
||||||
default='master')
|
|
||||||
aparser.add_argument('--output', metavar='FILE',
|
|
||||||
help='The output file, stdout by default',
|
|
||||||
type=argparse.FileType('w', encoding='UTF-8'),
|
|
||||||
default=sys.stdout)
|
|
||||||
aparser.add_argument('infile', metavar='FILE',
|
|
||||||
help='The input testlog.json, stdin by default',
|
|
||||||
type=argparse.FileType('r', encoding='UTF-8'),
|
|
||||||
default=sys.stdin)
|
|
||||||
|
|
||||||
args = aparser.parse_args()
|
|
||||||
|
|
||||||
outfile = args.output
|
|
||||||
|
|
||||||
testsuites = ET.Element('testsuites')
|
|
||||||
testsuites.set('id', '{}/{}'.format(args.job_id, args.branch))
|
|
||||||
testsuites.set('package', args.project_name)
|
|
||||||
testsuites.set('timestamp', datetime.datetime.utcnow().isoformat(timespec='minutes'))
|
|
||||||
|
|
||||||
suites = {}
|
|
||||||
for line in args.infile:
|
|
||||||
data = json.loads(line)
|
|
||||||
(full_suite, unit_name) = data['name'].split(' / ')
|
|
||||||
(project_name, suite_name) = full_suite.split(':')
|
|
||||||
|
|
||||||
duration = data['duration']
|
|
||||||
return_code = data['returncode']
|
|
||||||
log = data['stdout']
|
|
||||||
|
|
||||||
unit = {
|
|
||||||
'suite': suite_name,
|
|
||||||
'name': unit_name,
|
|
||||||
'duration': duration,
|
|
||||||
'returncode': return_code,
|
|
||||||
'stdout': log,
|
|
||||||
}
|
|
||||||
|
|
||||||
units = suites.setdefault(suite_name, [])
|
|
||||||
units.append(unit)
|
|
||||||
|
|
||||||
for name, units in suites.items():
|
|
||||||
print('Processing suite {} (units: {})'.format(name, len(units)))
|
|
||||||
|
|
||||||
def if_failed(unit):
|
|
||||||
if unit['returncode'] != 0:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def if_succeded(unit):
|
|
||||||
if unit['returncode'] == 0:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
successes = list(filter(if_succeded, units))
|
|
||||||
failures = list(filter(if_failed, units))
|
|
||||||
print(' - {}: {} pass, {} fail'.format(name, len(successes), len(failures)))
|
|
||||||
|
|
||||||
testsuite = ET.SubElement(testsuites, 'testsuite')
|
|
||||||
testsuite.set('name', '{}/{}'.format(args.project_name, name))
|
|
||||||
testsuite.set('tests', str(len(units)))
|
|
||||||
testsuite.set('errors', str(len(failures)))
|
|
||||||
testsuite.set('failures', str(len(failures)))
|
|
||||||
|
|
||||||
for unit in successes:
|
|
||||||
testcase = ET.SubElement(testsuite, 'testcase')
|
|
||||||
testcase.set('classname', '{}/{}'.format(args.project_name, unit['suite']))
|
|
||||||
testcase.set('name', unit['name'])
|
|
||||||
testcase.set('time', str(unit['duration']))
|
|
||||||
|
|
||||||
for unit in failures:
|
|
||||||
testcase = ET.SubElement(testsuite, 'testcase')
|
|
||||||
testcase.set('classname', '{}/{}'.format(args.project_name, unit['suite']))
|
|
||||||
testcase.set('name', unit['name'])
|
|
||||||
testcase.set('time', str(unit['duration']))
|
|
||||||
|
|
||||||
failure = ET.SubElement(testcase, 'failure')
|
|
||||||
failure.set('classname', '{}/{}'.format(args.project_name, unit['suite']))
|
|
||||||
failure.set('name', unit['name'])
|
|
||||||
failure.set('type', 'error')
|
|
||||||
failure.text = unit['stdout']
|
|
||||||
|
|
||||||
output = ET.tostring(testsuites, encoding='unicode')
|
|
||||||
outfile.write(output)
|
|
@@ -1,11 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
TAG="registry.gitlab.gnome.org/gnome/gtk/master:v4"
|
|
||||||
|
|
||||||
sudo docker build --build-arg HOST_USER_ID="$UID" --tag "${TAG}" \
|
|
||||||
--file "Dockerfile" .
|
|
||||||
sudo docker run --rm --security-opt label=disable \
|
|
||||||
--volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \
|
|
||||||
--tty --interactive "${TAG}" bash
|
|
@@ -1,55 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
srcdir=$(pwd)
|
|
||||||
|
|
||||||
mkdir -p _ccache
|
|
||||||
export CCACHE_BASEDIR="$(pwd)"
|
|
||||||
export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
|
||||||
|
|
||||||
ccache --zero-stats
|
|
||||||
ccache --show-stats
|
|
||||||
export CCACHE_DISABLE=true
|
|
||||||
meson \
|
|
||||||
-Dx11-backend=true \
|
|
||||||
-Dwayland-backend=true \
|
|
||||||
-Dbroadway-backend=true \
|
|
||||||
-Dvulkan=yes \
|
|
||||||
--werror \
|
|
||||||
_build $srcdir
|
|
||||||
unset CCACHE_DISABLE
|
|
||||||
|
|
||||||
cd _build
|
|
||||||
|
|
||||||
ninja
|
|
||||||
ccache --show-stats
|
|
||||||
|
|
||||||
set +e
|
|
||||||
|
|
||||||
xvfb-run -a -s "-screen 0 1024x768x24" \
|
|
||||||
meson test \
|
|
||||||
--timeout-multiplier 2 \
|
|
||||||
--print-errorlogs \
|
|
||||||
--suite=gtk \
|
|
||||||
--no-suite=gtk:gsk \
|
|
||||||
--no-suite=gtk:a11y
|
|
||||||
|
|
||||||
# Save the exit code
|
|
||||||
exit_code=$?
|
|
||||||
|
|
||||||
# We always want to run the report generators
|
|
||||||
$srcdir/.gitlab-ci/meson-junit-report.py \
|
|
||||||
--project-name=gtk \
|
|
||||||
--job-id="${CI_JOB_NAME}" \
|
|
||||||
--output=report.xml \
|
|
||||||
meson-logs/testlog.json
|
|
||||||
|
|
||||||
$srcdir/.gitlab-ci/meson-html-report.py \
|
|
||||||
--project-name=GTK \
|
|
||||||
--job-id="${CI_JOB_NAME}" \
|
|
||||||
--reftest-output-dir="testsuite/reftests/output" \
|
|
||||||
--output=report.html \
|
|
||||||
meson-logs/testlog.json
|
|
||||||
|
|
||||||
exit $exit_code
|
|
@@ -1,53 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [[ "$MSYSTEM" == "MINGW32" ]]; then
|
|
||||||
export MSYS2_ARCH="i686"
|
|
||||||
else
|
|
||||||
export MSYS2_ARCH="x86_64"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Update everything
|
|
||||||
pacman --noconfirm -Suy
|
|
||||||
|
|
||||||
# Install the required packages
|
|
||||||
pacman --noconfirm -S --needed \
|
|
||||||
base-devel \
|
|
||||||
git \
|
|
||||||
mingw-w64-$MSYS2_ARCH-toolchain \
|
|
||||||
mingw-w64-$MSYS2_ARCH-ccache \
|
|
||||||
mingw-w64-$MSYS2_ARCH-pkg-config \
|
|
||||||
mingw-w64-$MSYS2_ARCH-gobject-introspection \
|
|
||||||
mingw-w64-$MSYS2_ARCH-meson \
|
|
||||||
mingw-w64-$MSYS2_ARCH-adwaita-icon-theme \
|
|
||||||
mingw-w64-$MSYS2_ARCH-atk \
|
|
||||||
mingw-w64-$MSYS2_ARCH-cairo \
|
|
||||||
mingw-w64-$MSYS2_ARCH-gdk-pixbuf2 \
|
|
||||||
mingw-w64-$MSYS2_ARCH-glib2 \
|
|
||||||
mingw-w64-$MSYS2_ARCH-graphene \
|
|
||||||
mingw-w64-$MSYS2_ARCH-json-glib \
|
|
||||||
mingw-w64-$MSYS2_ARCH-libepoxy \
|
|
||||||
mingw-w64-$MSYS2_ARCH-pango \
|
|
||||||
mingw-w64-$MSYS2_ARCH-fribidi \
|
|
||||||
mingw-w64-$MSYS2_ARCH-gst-plugins-bad \
|
|
||||||
mingw-w64-$MSYS2_ARCH-shared-mime-info
|
|
||||||
|
|
||||||
mkdir -p _ccache
|
|
||||||
export CCACHE_BASEDIR="$(pwd)"
|
|
||||||
export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
|
||||||
|
|
||||||
# Build
|
|
||||||
ccache --zero-stats
|
|
||||||
ccache --show-stats
|
|
||||||
export CCACHE_DISABLE=true
|
|
||||||
meson \
|
|
||||||
-Denable-x11-backend=false \
|
|
||||||
-Denable-wayland-backend=false \
|
|
||||||
-Denable-win32-backend=true \
|
|
||||||
-Dvulkan=no \
|
|
||||||
_build
|
|
||||||
unset CCACHE_DISABLE
|
|
||||||
|
|
||||||
ninja -C _build
|
|
||||||
ccache --show-stats
|
|
@@ -1,36 +0,0 @@
|
|||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
1. ...
|
|
||||||
2. ...
|
|
||||||
3. ...
|
|
||||||
|
|
||||||
<!--
|
|
||||||
You should try and reproduce with the demos applications available
|
|
||||||
under the `demos` directory, or the test programs in the `tests` directory.
|
|
||||||
Alternatively, please attach a *small and self-contained* example that
|
|
||||||
exhibits the issue.
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Current behavior
|
|
||||||
<!--
|
|
||||||
Please describe the current behaviour
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Expected outcome
|
|
||||||
<!--
|
|
||||||
Please describe the expected outcome
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Version information
|
|
||||||
<!--
|
|
||||||
- Which version of GTK you are using
|
|
||||||
- What operating system and version
|
|
||||||
- For Linux, which distribution
|
|
||||||
- If you built GTK yourself, the list of options used to configure the build
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Additional information
|
|
||||||
<!--
|
|
||||||
- Screenshots or screen recordings are useful for visual errors
|
|
||||||
- Please report any warning or message printed on the terminal
|
|
||||||
-->
|
|
@@ -1,34 +0,0 @@
|
|||||||
## Steps to reproduce
|
|
||||||
|
|
||||||
1. ...
|
|
||||||
2. ...
|
|
||||||
3. ...
|
|
||||||
|
|
||||||
<!--
|
|
||||||
You should try and reproduce with the demos applications available
|
|
||||||
under the `demos` directory, or the test programs in the `tests` directory.
|
|
||||||
Alternatively, please attach a *small and self-contained* example that
|
|
||||||
exhibits the issue.
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Version information
|
|
||||||
<!--
|
|
||||||
- Which version of GTK you are using
|
|
||||||
- What operating system and version
|
|
||||||
- for Linux, which distribution
|
|
||||||
- If you built GTK yourself, the list of options used to configure the build
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Warnings
|
|
||||||
<!--
|
|
||||||
- If the application generates warning messages before crashing please
|
|
||||||
report them here
|
|
||||||
-->
|
|
||||||
|
|
||||||
## Backtrace
|
|
||||||
<!--
|
|
||||||
- Attaching a stack trace obtained using GDB is appreciated; follow the
|
|
||||||
instructions on the wiki:
|
|
||||||
|
|
||||||
https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces
|
|
||||||
-->
|
|
266
CONTRIBUTING.md
@@ -1,266 +0,0 @@
|
|||||||
# Contribution guidelines
|
|
||||||
|
|
||||||
Thank you for considering contributing to the GTK project!
|
|
||||||
|
|
||||||
These guidelines are meant for new contributors, regardless of their level
|
|
||||||
of proficiency; following them allows the maintainers of the GTK project to
|
|
||||||
more effectively evaluate your contribution, and provide prompt feedback to
|
|
||||||
you. Additionally, by following these guidelines you clearly communicate
|
|
||||||
that you respect the time and effort that the people developing GTK put into
|
|
||||||
managing the project.
|
|
||||||
|
|
||||||
GTK is a complex free software GUI toolkit, and it would not exist without
|
|
||||||
contributions from the free and open source software community. There are
|
|
||||||
many things that we value:
|
|
||||||
|
|
||||||
- bug reporting and fixing
|
|
||||||
- documentation and examples
|
|
||||||
- tests
|
|
||||||
- new features
|
|
||||||
|
|
||||||
Please, do not use the issue tracker for support questions. If you have
|
|
||||||
questions on how to use GTK effectively, you can use:
|
|
||||||
|
|
||||||
- the `#gtk` IRC channel on irc.gnome.org
|
|
||||||
- the [gtk](https://mail.gnome.org/mailman/listinfo/gtk-list) mailing list,
|
|
||||||
for general questions on GTK
|
|
||||||
- the [gtk-app-devel](https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list)
|
|
||||||
mailing list, for questions on application development with GTK
|
|
||||||
- the [gtk-devel](https://mail.gnome.org/mailman/listinfo/gtk-devel-list)
|
|
||||||
mailing list, for questions on developing GTK itself
|
|
||||||
|
|
||||||
You can also look at the GTK tag on [Stack
|
|
||||||
Overflow](https://stackoverflow.com/questions/tagged/gtk).
|
|
||||||
|
|
||||||
The issue tracker is meant to be used for actionable issues only.
|
|
||||||
|
|
||||||
## How to report bugs
|
|
||||||
|
|
||||||
### Security issues
|
|
||||||
|
|
||||||
You should not open a new issue for security related questions.
|
|
||||||
|
|
||||||
When in doubt, send an email to the [security](mailto:security@gnome.org)
|
|
||||||
mailing list.
|
|
||||||
|
|
||||||
### Bug reports
|
|
||||||
|
|
||||||
If you're reporting a bug make sure to list:
|
|
||||||
|
|
||||||
0. which version of GTK are you using?
|
|
||||||
0. which operating system are you using?
|
|
||||||
0. the necessary steps to reproduce the issue
|
|
||||||
0. the expected outcome
|
|
||||||
0. a description of the behavior; screenshots are also welcome
|
|
||||||
0. a small, self-contained example exhibiting the behavior; if this
|
|
||||||
is not available, try reproducing the issue using the GTK examples
|
|
||||||
or interactive tests
|
|
||||||
|
|
||||||
If the issue includes a crash, you should also include:
|
|
||||||
|
|
||||||
0. the eventual warnings printed on the terminal
|
|
||||||
0. a backtrace, obtained with tools such as GDB or LLDB
|
|
||||||
|
|
||||||
For small issues, such as:
|
|
||||||
|
|
||||||
- spelling/grammar fixes in the documentation
|
|
||||||
- typo correction
|
|
||||||
- comment clean ups
|
|
||||||
- changes to metadata files (CI, `.gitignore`)
|
|
||||||
- build system changes
|
|
||||||
- source tree clean ups and reorganizations
|
|
||||||
|
|
||||||
You should directly open a merge request instead of filing a new issue.
|
|
||||||
|
|
||||||
### Features and enhancements
|
|
||||||
|
|
||||||
Feature discussion can be open ended and require high bandwidth channels; if
|
|
||||||
you are proposing a new feature on the issue tracker, make sure to make
|
|
||||||
an actionable proposal, and list:
|
|
||||||
|
|
||||||
0. what you're trying to achieve
|
|
||||||
0. prior art, in other toolkits or applications
|
|
||||||
0. design and theming changes
|
|
||||||
|
|
||||||
If you're proposing the integration of new features it helps to have
|
|
||||||
multiple applications using shared or similar code, especially if they have
|
|
||||||
iterated over it various times.
|
|
||||||
|
|
||||||
Each feature should also come fully documented, and with tests.
|
|
||||||
|
|
||||||
## Your first contribution
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
If you want to contribute to the GTK project, you will need to have the
|
|
||||||
development tools appropriate for your operating system, including:
|
|
||||||
|
|
||||||
- Python 3.x
|
|
||||||
- Meson
|
|
||||||
- Ninja
|
|
||||||
- Gettext (19.7 or newer)
|
|
||||||
- a [C99 compatible compiler](https://wiki.gnome.org/Projects/GLib/CompilerRequirements)
|
|
||||||
|
|
||||||
Up-to-date instructions about developing GNOME applications and libraries
|
|
||||||
can be found on [the GNOME Developer Center](https://developer.gnome.org).
|
|
||||||
|
|
||||||
The GTK project uses GitLab for code hosting and for tracking issues. More
|
|
||||||
information about using GitLab can be found [on the GNOME
|
|
||||||
wiki](https://wiki.gnome.org/GitLab).
|
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
In order to get GTK from Git installed on your system, you need to have the
|
|
||||||
required versions of all the software dependencies required by GTK; typically,
|
|
||||||
this means a recent version of GLib, Cairo, Pango, and ATK, as well as the
|
|
||||||
platform-specific dependencies for the windowing system you are using (Wayland,
|
|
||||||
X11, Windows, or macOS).
|
|
||||||
|
|
||||||
The core dependencies for GTK are:
|
|
||||||
|
|
||||||
- [GLib, GObject, and GIO](https://gitlab.gnome.org/GNOME/glib)
|
|
||||||
- [Cairo](http://cairographics.org)
|
|
||||||
- [Pango](https://gitlab.gnome.org/GNOME/pango)
|
|
||||||
- [GdkPixbuf](https://gitlab.gnome.org/GNOME/gdk-pixbuf)
|
|
||||||
- [Epoxy](https://github.com/anholt/libepoxy)
|
|
||||||
- [ATK](https://gitlab.gnome.org/GNOME/atk)
|
|
||||||
- [Graphene](https://github.com/ebassi/graphene)
|
|
||||||
|
|
||||||
GTK will attempt to download and build some of these dependencies if it
|
|
||||||
cannot find them on your system.
|
|
||||||
|
|
||||||
Additionally, you may want to look at projects that create a development
|
|
||||||
environment for you, like [jhbuild](https://wiki.gnome.org/HowDoI/Jhbuild)
|
|
||||||
and [gvsbuild](https://github.com/wingtk/gvsbuild).
|
|
||||||
|
|
||||||
### Getting started
|
|
||||||
|
|
||||||
You should start by forking the GTK repository from the GitLab web UI, and
|
|
||||||
cloning from your fork:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ git clone https://gitlab.gnome.org/yourusername/gtk.git
|
|
||||||
$ cd gtk
|
|
||||||
```
|
|
||||||
|
|
||||||
**Note**: if you plan to push changes to back to the main repository and
|
|
||||||
have a GNOME account, you can skip the fork, and use the following instead:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ git clone git@gitlab.gnome.org:GNOME/gtk.git
|
|
||||||
$ cd gtk
|
|
||||||
```
|
|
||||||
|
|
||||||
To compile the Git version of GTK on your system, you will need to
|
|
||||||
configure your build using Meson:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ meson _builddir .
|
|
||||||
$ cd _builddir
|
|
||||||
$ ninja
|
|
||||||
```
|
|
||||||
|
|
||||||
Typically, you should work on your own branch:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ git checkout -b your-branch
|
|
||||||
```
|
|
||||||
|
|
||||||
Once you've finished working on the bug fix or feature, push the branch
|
|
||||||
to the Git repository and open a new merge request, to let the GTK
|
|
||||||
maintainers review your contribution.
|
|
||||||
|
|
||||||
### Code reviews
|
|
||||||
|
|
||||||
Each contribution is reviewed by the core developers of the GTK project.
|
|
||||||
|
|
||||||
The [CODE-OWNERS](./docs/CODE-OWNERS) document contains the list of core
|
|
||||||
contributors to GTK and the areas for which they are responsible; you
|
|
||||||
should ensure to receive their review and signoff on your changes.
|
|
||||||
|
|
||||||
### Commit messages
|
|
||||||
|
|
||||||
The expected format for git commit messages is as follows:
|
|
||||||
|
|
||||||
```plain
|
|
||||||
Short explanation of the commit
|
|
||||||
|
|
||||||
Longer explanation explaining exactly what's changed, whether any
|
|
||||||
external or private interfaces changed, what bugs were fixed (with bug
|
|
||||||
tracker reference if applicable) and so forth. Be concise but not too
|
|
||||||
brief.
|
|
||||||
|
|
||||||
Closes #1234
|
|
||||||
```
|
|
||||||
|
|
||||||
- Always add a brief description of the commit to the _first_ line of
|
|
||||||
the commit and terminate by two newlines (it will work without the
|
|
||||||
second newline, but that is not nice for the interfaces).
|
|
||||||
|
|
||||||
- First line (the brief description) must only be one sentence and
|
|
||||||
should start with a capital letter unless it starts with a lowercase
|
|
||||||
symbol or identifier. Don't use a trailing period either. Don't exceed
|
|
||||||
72 characters.
|
|
||||||
|
|
||||||
- The main description (the body) is normal prose and should use normal
|
|
||||||
punctuation and capital letters where appropriate. Consider the commit
|
|
||||||
message as an email sent to the developers (or yourself, six months
|
|
||||||
down the line) detailing **why** you changed something. There's no need
|
|
||||||
to specify the **how**: the changes can be inlined.
|
|
||||||
|
|
||||||
- When committing code on behalf of others use the `--author` option, e.g.
|
|
||||||
`git commit -a --author "Joe Coder <joe@coder.org>"` and `--signoff`.
|
|
||||||
|
|
||||||
- If your commit is addressing an issue, use the
|
|
||||||
[GitLab syntax](https://docs.gitlab.com/ce/user/project/issues/automatic_issue_closing.html)
|
|
||||||
to automatically close the issue when merging the commit with the upstream
|
|
||||||
repository:
|
|
||||||
|
|
||||||
```plain
|
|
||||||
Closes #1234
|
|
||||||
Fixes #1234
|
|
||||||
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1234
|
|
||||||
```
|
|
||||||
|
|
||||||
- If you have a merge request with multiple commits and none of them
|
|
||||||
completely fixes an issue, you should add a reference to the issue in
|
|
||||||
the commit message, e.g. `Bug: #1234`, and use the automatic issue
|
|
||||||
closing syntax in the description of the merge request.
|
|
||||||
|
|
||||||
### Commit access to the GTK repository
|
|
||||||
|
|
||||||
GTK is part of the GNOME infrastructure. At the current time, any
|
|
||||||
person with write access to the GNOME repository can merge changes to
|
|
||||||
GTK. This is a good thing, in that it encourages many people to work
|
|
||||||
on GTK, and progress can be made quickly. However, GTK is a fairly
|
|
||||||
large and complicated project on which many other things depend, so to
|
|
||||||
avoid unnecessary breakage, and to take advantage of the knowledge
|
|
||||||
about GTK that has been built up over the years, we'd like to ask
|
|
||||||
people committing to GTK to follow a few rules:
|
|
||||||
|
|
||||||
0. Ask first. If your changes are major, or could possibly break existing
|
|
||||||
code, you should always ask. If your change is minor and you've been
|
|
||||||
working on GTK for a while it probably isn't necessary to ask. But when
|
|
||||||
in doubt, ask. Even if your change is correct, somebody may know a
|
|
||||||
better way to do things. If you are making changes to GTK, you should
|
|
||||||
be subscribed to the [gtk-devel](https://mail.gnome.org/mailman/listinfo/gtk-devel-list)
|
|
||||||
mailing list; this is a good place to ask about intended changes.
|
|
||||||
The `#gtk` IRC channel on irc.gnome.org is also a good place to find GTK
|
|
||||||
developers to discuss changes, but if you live outside of the EU/US time
|
|
||||||
zones, an email to the gtk-devel mailing list is the most certain and
|
|
||||||
preferred method.
|
|
||||||
|
|
||||||
0. Ask _first_.
|
|
||||||
|
|
||||||
0. Always write a meaningful commit message. Changes without a sufficient
|
|
||||||
commit message will be reverted.
|
|
||||||
|
|
||||||
0. Never push to the `master` branch, or any stable branches, directly; you
|
|
||||||
should always go through a merge request, to ensure that the code is
|
|
||||||
tested on the CI infrastructure at the very least. A merge request is
|
|
||||||
also the proper place to get a comprehensive code review from the core
|
|
||||||
developers of GTK.
|
|
||||||
|
|
||||||
If you have been contributing to GTK for a while and you don't have commit
|
|
||||||
access to the repository, you may ask to obtain it following the [GNOME account
|
|
||||||
process](https://wiki.gnome.org/AccountsTeam/NewAccounts).
|
|
19
COPYING
@@ -1,15 +1,15 @@
|
|||||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
|
|
||||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
[This is the first released version of the library GPL. It is
|
[This is the first released version of the library GPL. It is
|
||||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||||
|
|
||||||
Preamble
|
Preamble
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
The licenses for most software are designed to take away your
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
@@ -99,7 +99,7 @@ works together with the library.
|
|||||||
Note that it is possible for a library to be covered by the ordinary
|
Note that it is possible for a library to be covered by the ordinary
|
||||||
General Public License rather than by this special one.
|
General Public License rather than by this special one.
|
||||||
|
|
||||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. This License Agreement applies to any software library which
|
0. This License Agreement applies to any software library which
|
||||||
@@ -411,7 +411,7 @@ decision will be guided by the two goals of preserving the free status
|
|||||||
of all derivatives of our free software and of promoting the sharing
|
of all derivatives of our free software and of promoting the sharing
|
||||||
and reuse of software generally.
|
and reuse of software generally.
|
||||||
|
|
||||||
NO WARRANTY
|
NO WARRANTY
|
||||||
|
|
||||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||||
@@ -434,7 +434,7 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
|||||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
DAMAGES.
|
DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
How to Apply These Terms to Your New Libraries
|
How to Apply These Terms to Your New Libraries
|
||||||
|
|
||||||
@@ -463,8 +463,9 @@ convey the exclusion of warranty; and each file should have at least the
|
|||||||
Library General Public License for more details.
|
Library General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
You should have received a copy of the GNU Library General Public
|
||||||
License along with this library; if not, write to the Free Software
|
License along with this library; if not, write to the
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307 USA.
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
514
ChangeLog.gtk-async-file-chooser
Normal file
@@ -0,0 +1,514 @@
|
|||||||
|
2006-04-30 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.[ch] (gtk_file_info_render_icon): remove the
|
||||||
|
caching code,
|
||||||
|
(gtk_file_info_get_icon_name): new function,
|
||||||
|
(gtk_file_system_volume_get_icon_name): new function,
|
||||||
|
(gtk_file_system_volume_render_icon): refactor to use
|
||||||
|
get_icon_name() and render the icon on the fly.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon),
|
||||||
|
(gtk_file_system_unix_volume_get_icon_name): reflect updates in
|
||||||
|
file system interface,
|
||||||
|
(get_fallback_icon): remove, along with icon caching code.
|
||||||
|
|
||||||
|
* gtk/gtk.symbols: updated.
|
||||||
|
|
||||||
|
2006-04-30 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemmodel.c (got_root_folder_cb), (ref_path_cb),
|
||||||
|
(get_children_get_folder_cb): don't leak the handle,
|
||||||
|
(got_root_folder_cb), (get_children_get_folder_cb): emit
|
||||||
|
row-inserted for the newly added nodes.
|
||||||
|
|
||||||
|
2006-04-30 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (file_list_drag_data_select_uris),
|
||||||
|
(file_list_drag_data_received_get_info_cb),
|
||||||
|
(file_list_drag_data_received_cb): refactor code for selecting
|
||||||
|
multiple uris into file_list_drag_data_select_uris().
|
||||||
|
|
||||||
|
2006-04-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c (dnd_select_folder_get_info_cb): don't
|
||||||
|
leak handle,
|
||||||
|
(change_icon_theme_get_info_cb), (set_info_get_info_cb),
|
||||||
|
(model_add_special_get_info_cb), (update_label_get_info_cb): ditto.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons_get_info_cb):
|
||||||
|
don't leak the handle,
|
||||||
|
(get_file_info_finished), (edited_idle_create_folder_cb),
|
||||||
|
(file_list_drag_data_received_get_info_cb),
|
||||||
|
(show_and_select_paths_get_folder_cb),
|
||||||
|
(update_current_folder_get_info_cb), (add_shortcut_get_info_cb),
|
||||||
|
(confirmation_confirm_get_info_cb), (action_create_folder_cb),
|
||||||
|
(save_entry_get_info_cb), (shortcuts_activate_volume_mount_cb),
|
||||||
|
(shortcuts_activate_get_info_cb), (update_from_entry_get_info_cb):
|
||||||
|
ditto.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserentry.c (load_directory_get_folder_callback):
|
||||||
|
don't leak the handle.
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.c (set_button_image_get_info_cb),
|
||||||
|
(gtk_path_bar_get_info_callback): don't leak the handle.
|
||||||
|
|
||||||
|
2006-04-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
Review.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons_get_info_cb):
|
||||||
|
don't forget to unref data->impl at the end.
|
||||||
|
|
||||||
|
2006-04-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
Review, continued.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdialog.c (response_cb): set response_requested
|
||||||
|
to FALSE after stopping emission of the response signal.
|
||||||
|
|
||||||
|
2006-03-16 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
More review work.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserprivate.h: remove idle_finished_loading_source
|
||||||
|
from GtkFileSystemModel.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): remove
|
||||||
|
idle_finished_loading_source,
|
||||||
|
(idle_finished_loading_cb), (queue_finished_loading): removed,
|
||||||
|
(got_root_folder_cb): save a list walk, immediately emit
|
||||||
|
finished-loading and don't queue it, since we are already in an
|
||||||
|
idle here, always list_children() so the children the folder already
|
||||||
|
has are returned,
|
||||||
|
(_gtk_file_system_model_new): handle the case where NULL is
|
||||||
|
returned by _get_folder(),
|
||||||
|
(_gtk_file_system_model_path_do): remove comment, and append the
|
||||||
|
new handle to the list, don't try to remove,
|
||||||
|
(get_children_get_folder_cb): save a list walk, remove the dummy
|
||||||
|
child if the _get_folder() call fails or is cancelled.
|
||||||
|
|
||||||
|
2006-03-14 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
More suggestions from Federico.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
|
||||||
|
remove check for filename_is_root(), since we never hit that code
|
||||||
|
and else mkdir will fail anyway,
|
||||||
|
(gtk_file_system_unix_create_folder): fixup parent folder refresh
|
||||||
|
code.
|
||||||
|
|
||||||
|
2006-03-14 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (read_hidden_file), (fill_in_hidden),
|
||||||
|
(get_is_hidden_for_file): factor out g_file_get_contents() code
|
||||||
|
in read_hidden_file(). (Federico Mena Quintero).
|
||||||
|
|
||||||
|
2006-03-14 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
Icon name code suggestions by Federico Mena Quintero.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c: add GTK_FILE_INFO_ICON to
|
||||||
|
STAT_NEEDED_MASK,
|
||||||
|
(get_fallback_icon_name), (get_fallback_icon),
|
||||||
|
(get_icon_name_for_directory), (get_special_icon_name): get rid
|
||||||
|
of strdups,
|
||||||
|
(get_icon_type_from_path): add a statbuf argument and use the
|
||||||
|
statbuf when folder_unix is NULL,
|
||||||
|
(create_file_info): adapt to work with above changes.
|
||||||
|
|
||||||
|
2006-03-14 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_info): path
|
||||||
|
is NULL is an error here (gtk_file_system_get_info() already guards
|
||||||
|
path = NULL),
|
||||||
|
(gtk_file_system_unix_get_info): move basename creation to just
|
||||||
|
before create_file_info(). (Federico Mena Quintero).
|
||||||
|
|
||||||
|
2006-03-14 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (struct _GtkFileFolderUnix): add
|
||||||
|
load_folder_id field,
|
||||||
|
(load_folder): add thread enter/leave construct, set load_folder_id
|
||||||
|
to zero since we have the idle removed when we return,
|
||||||
|
(gtk_file_system_unix_get_folder): initialize load_folder_id to 0
|
||||||
|
and store the source id of the load_folder idle,
|
||||||
|
(gtk_file_folder_unix_finalize): remove the load_folder idle
|
||||||
|
if necessary. (Federico Mena Quintero).
|
||||||
|
|
||||||
|
2006-03-14 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder): return
|
||||||
|
NULL if there is no current folder path.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_map): we
|
||||||
|
reload the current folder if there is one, else we continue the
|
||||||
|
still pending load.
|
||||||
|
|
||||||
|
2006-03-14 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
Couple of fixes from Markku Vire.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.c (gtk_file_info_copy): also strdup icon_name
|
||||||
|
and display_key.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
|
||||||
|
initialize error to NULL,
|
||||||
|
(gtk_file_folder_unix_list_children): return an empty list for now if
|
||||||
|
we couldn't read the directory.
|
||||||
|
|
||||||
|
2005-12-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb),
|
||||||
|
(gtk_file_chooser_default_update_current_folder): set and unset
|
||||||
|
busy cursor while checking whether the given path is a folder.
|
||||||
|
|
||||||
|
2005-12-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.h: change the GtkFileInfo argument of the
|
||||||
|
GetInfoCallback to be const.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c, gtk/gtkfilechooserdefault.c,
|
||||||
|
gtk/gtkpathbar.c: changes functions to reflect the above change.
|
||||||
|
|
||||||
|
2005-12-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c, gtk/gtkfilechooserprivate.h: keep track
|
||||||
|
of handles, cancel all pending operations on dispose.
|
||||||
|
|
||||||
|
2005-12-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserprivate.h (struct _GtkFileSystemModel): add
|
||||||
|
pending_handles field,
|
||||||
|
(struct _FileModelNode): add load_pending flag.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemmodel.c (gtk_file_system_model_dispose): introduce,
|
||||||
|
cancel all pending operations here,
|
||||||
|
(got_root_folder_cb), (_gtk_file_system_model_new), (ref_path_cb),
|
||||||
|
(_gtk_file_system_model_path_do): keep track of all pending
|
||||||
|
operations, handle cancelled operations.
|
||||||
|
|
||||||
|
2005-12-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_finalize),
|
||||||
|
(gtk_file_chooser_button_destroy): move all handle cancellations
|
||||||
|
and object unrefs to destroy.
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.c (gtk_path_bar_finalize), (gtk_path_bar_dispose):
|
||||||
|
likewise.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_class_init):
|
||||||
|
add dispose,
|
||||||
|
(gtk_file_chooser_entry_dispose): cancel handles and unrefs
|
||||||
|
objects here instead of finalize.
|
||||||
|
|
||||||
|
2005-12-23 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.c (get_cached_icon): check if "name" is an
|
||||||
|
absolute path, if so load the icon from that file.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): fix
|
||||||
|
the build.
|
||||||
|
|
||||||
|
2005-12-21 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): remove
|
||||||
|
the FIXME since it doesn't make sense, when we return a cached
|
||||||
|
folder we won't emit finished-loading either,
|
||||||
|
(gtk_file_system_unix_create_folder): remove unused variable,
|
||||||
|
(gtk_file_folder_unix_list_children): remove unused code,
|
||||||
|
(get_is_hidden_for_file): new function,
|
||||||
|
(create_file_info): also handle getting is_hidden when called
|
||||||
|
without a folder unix (from _system_get_info() for example).
|
||||||
|
|
||||||
|
2005-12-20 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (check_is_folder): fully removed!
|
||||||
|
woo!,
|
||||||
|
(check_save_entry): add is_folder argument,
|
||||||
|
(gtk_file_chooser_default_get_paths): update check_save_entry() call,
|
||||||
|
(get_display_name_for_folder): removed,
|
||||||
|
(confirmation_confirm_get_info_cb): new function which will
|
||||||
|
handle the confirmation dialog now we have all information for it,
|
||||||
|
(should_respond_after_confirm_overwrite): replace the call to
|
||||||
|
get_display_name_for_folder() with an asynchronous solution,
|
||||||
|
(action_create_folder_cb): request dialog response on successfull
|
||||||
|
folder creation,
|
||||||
|
(gtk_file_chooser_default_should_respond): update call to
|
||||||
|
check_save_entry(); replace the check is folder call for "path"
|
||||||
|
by just using the is_folder return value from check_save_entry();
|
||||||
|
replaced the check is folder call for "parent_path" with an
|
||||||
|
asynchronous setup, remainder of that work is now done in
|
||||||
|
save_entry_get_info_cb(),
|
||||||
|
(save_entry_get_info_cb): new function.
|
||||||
|
|
||||||
|
* gtk/gtkfilechoosermebed.[ch]: add response-requested signal.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdialog.c, gtk/gtkfilechooserprivate.h: handle
|
||||||
|
response_requested signal.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserentry.[ch]
|
||||||
|
(_gtk_file_chooser_entry_get_is_folder): new function.
|
||||||
|
|
||||||
|
2005-12-20 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (ref_path_cb): when called with
|
||||||
|
!folder, check if node is the node we are looking for (can be
|
||||||
|
triggered when we call ref_path_cb ourselves after a find_child_node),
|
||||||
|
(_gtk_file_system_model_path_do): introduce parent_node field;
|
||||||
|
after finding a child node in a loaded parent node, don't forget
|
||||||
|
to call ref_path_cb,
|
||||||
|
(get_children_get_folder_cb): don't forget to set data->node->folder
|
||||||
|
to the newly acquired folder.
|
||||||
|
|
||||||
|
2005-12-20 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (show_and_select_paths_get_folder_cb):
|
||||||
|
handle case where the folder we get already finished loading.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemmodel.c (ref_path_cb),
|
||||||
|
(_gtk_file_system_model_path_do): make this work.
|
||||||
|
|
||||||
|
2005-12-19 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (shortcuts_update_count): modify
|
||||||
|
in such a way that it can also negatively update the count on
|
||||||
|
failures,
|
||||||
|
(get_file_info_finished): handle failures, update save folder
|
||||||
|
combo box on success,
|
||||||
|
(shortcuts_insert_path): change the boolean return value into a
|
||||||
|
void one, also refilter the model and update the save folder combo
|
||||||
|
box for the non-asynchronous case,
|
||||||
|
(shortcuts_append_home), (shortcuts_append_desktop),
|
||||||
|
(shortcuts_add_volumes), (shortcuts_add_current_folder),
|
||||||
|
(add_shortcuts_get_info_cb): adapt to shortcuts_insert_path() updates.
|
||||||
|
|
||||||
|
2005-12-19 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.[ch]: add handle fields to ButtonData and
|
||||||
|
GtkPathBar; do correct handle bookkeeping.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (load_folder),
|
||||||
|
(gtk_file_system_unix_get_folder),
|
||||||
|
(gtk_file_folder_unix_is_finished_loading): add is_finished_loading
|
||||||
|
field to GtkFileFolderUnix, which is set to true once we are
|
||||||
|
really finished with loading (previous assumption that we are
|
||||||
|
always finshed loading is not true anymore).
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemmodel.c (got_root_folder_cb): if the folder is
|
||||||
|
finished loading, list the children and update the root level.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
|
||||||
|
handle cancellation.
|
||||||
|
|
||||||
|
2005-12-16 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c: always call the callback, even when
|
||||||
|
cancelled; ref handles passed to the callback queue functions;
|
||||||
|
don't set cancelled to TRUE in _cancel_operation(), since operations
|
||||||
|
in this backend are always completed,
|
||||||
|
(get_special_icon_name): don't strdup the value of
|
||||||
|
get_icon_name_for_directory() again.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c: adapt to new cancellation policy;
|
||||||
|
reference all objects which are passed as callback arguments; in the
|
||||||
|
callback check if the handles match.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserentry.c: likewise.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c: likewise. Also changed the shortcut
|
||||||
|
loading code to be more like the code in GtkFileChooserButton, where
|
||||||
|
we store all handles in the model and have model_row_free_data
|
||||||
|
cancel any pending operations,
|
||||||
|
(shortcuts_model_create): copy the error.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): remove
|
||||||
|
loading_volumes and loading_bookmarks fields.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.c (gtk_file_info_free): free icon_name here...
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (edited_idle_create_folder_cb): fix
|
||||||
|
thinko.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (dispatch_create_folder_callback),
|
||||||
|
(queue_create_folder_callback): need to copy/free the path,
|
||||||
|
(gtk_file_system_unix_create_folder): put the "reget folder" hack
|
||||||
|
back in, though it's working different now.
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_finalize),
|
||||||
|
(dnd_select_folder_get_info_cb), (gtk_file_chooser_drag_data_received),
|
||||||
|
(change_icon_theme_get_info_cb), (change_icon_theme),
|
||||||
|
(model_add_special_get_info_cb), (model_add_special),
|
||||||
|
(update_label_get_info_cb), (update_label_and_image): cancel existing
|
||||||
|
operations, if any; added apprioriate fields to
|
||||||
|
GtkFileChooserButtonPrivate.
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_finalize): if
|
||||||
|
there's a folder loading, cancel the operation,
|
||||||
|
(load_directory_get_folder_callback): set the loading folder handle
|
||||||
|
to NULL,
|
||||||
|
(load_directory_callback): cancel any currently loading folders
|
||||||
|
before starting a new get folder operation.
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): don't overwrite
|
||||||
|
data if it's already set (for example by the "is volume" case).
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c (set_info_get_info_cb),
|
||||||
|
(set_info_for_path_at_iter): store a row reference in the temporary
|
||||||
|
data structure and not an iter,
|
||||||
|
(model_add_special), (model_update_current_folder),
|
||||||
|
(gtk_file_chooser_button_add_shorcut_folder): remove unused pixbuf
|
||||||
|
variable.
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (get_file_info_finished),
|
||||||
|
(shortcuts_insert_path): replace gtk_file_system_render_icon() call
|
||||||
|
with gtk_file_system_get_file_info(),
|
||||||
|
(gtk_file_chooser_default_add_shortcut_folder),
|
||||||
|
(gtk_file_chooser_default_remove_shortcut_folder): handle shortcuts
|
||||||
|
which are still loading.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserprivate.h: add shortcuts_loading field to
|
||||||
|
struct _GtkFileChooserDefault.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c (set_info_get_info_cb),
|
||||||
|
(set_info_for_path_at_iter), (model_free_row_data): keep handle
|
||||||
|
and path together; now supports adding/removing shortcuts
|
||||||
|
which are still loading.
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.c: make the cancelled field an GObject property.
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.h: make the GError argument in the callbacks
|
||||||
|
const.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c: update callbacks,
|
||||||
|
* gtk/gtkfilechooserentry.c: likewise,
|
||||||
|
* gtk/gtkfilechooserdefault.c: likewise,
|
||||||
|
* gtk/gtkfilesystemmodel.c: likewise,
|
||||||
|
* gtk/gtkpathbar.c: likewise.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (edited_idle_create_folder_cb): copy
|
||||||
|
the error which will be passed to error_creating_folder_dialog(),
|
||||||
|
(action_create_folder_cb): likewise,
|
||||||
|
(file_list_drag_data_received_get_info_cb): add forgotten GError
|
||||||
|
declaration.
|
||||||
|
|
||||||
|
2005-12-13 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.c (get_button_image), (set_button_image),
|
||||||
|
(set_button_image_get_info_cb),
|
||||||
|
(gtk_path_bar_update_button_appearance): update to new icon
|
||||||
|
rendering call.
|
||||||
|
|
||||||
|
2005-12-09 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (file_list_drag_data_received),
|
||||||
|
(gtk_file_chooser_default_add_shortcut_folder),
|
||||||
|
(shortcuts_activate_get_info_cb): replace synchronous check_is_folder
|
||||||
|
calls with an async gtk_file_system_get_info() solution.
|
||||||
|
|
||||||
|
2005-12-09 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.c (icon_cache_element_free), (icon_theme_changed),
|
||||||
|
(get_cached_icon), (gtk_file_info_render_icon): implement pixbuf
|
||||||
|
caching as found in the file system backends.
|
||||||
|
|
||||||
|
2005-12-09 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtk.symbols: updated.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.[ch] (struct GtkFileInfo): added icon_name field,
|
||||||
|
(enum GtkFileInfoType): added GTK_FILE_INFO_ICON,
|
||||||
|
(gtk_file_info_set_icon_name): new function,
|
||||||
|
(gtk_file_info_render_icon): new function,
|
||||||
|
(gtk_file_system_render_icon): removed.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon): removed,
|
||||||
|
(create_file_info): fill icon_name field if required,
|
||||||
|
(get_*_icon): modified to suit create_file_info() better.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c: modified to use
|
||||||
|
gtk_file_info_render_icon() instead of gtk_file_system_render_icon().
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c: likewise.
|
||||||
|
|
||||||
|
2005-12-06 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (get_file_info_finished),
|
||||||
|
(update_current_folder_get_info_cb): fix mem leaks.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_info): ditto.
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.c (gtk_path_bar_set_path_finish): ditto.
|
||||||
|
|
||||||
|
2005-12-06 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c (dnd_select_folder_get_info_cb),
|
||||||
|
(gtk_file_chooser_button_drag_data_received): make asynchronous,
|
||||||
|
(update_label_and_image): remove unused variable.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c
|
||||||
|
(gtk_file_chooser_default_update_current_folder): split in two
|
||||||
|
functions, so we can have the is_folder check back.
|
||||||
|
* gtk/gtkfilechooserprivate.h: add update_current_folder_handle
|
||||||
|
field.
|
||||||
|
|
||||||
|
2005-12-06 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (show_and_select_paths): fixed a typo.
|
||||||
|
|
||||||
|
2005-12-05 Federico Mena Quintero <federico@ximian.com>
|
||||||
|
|
||||||
|
(merge from HEAD)
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
|
||||||
|
modifiers", not "event->state && modifiers". Patch by Sadrul
|
||||||
|
Habib Chowdhury <imadil@gmail.com>. Fixes bug #323073.
|
||||||
|
|
||||||
|
2005-12-06 Kristian Rietveld <kris@imendio.com>
|
||||||
|
|
||||||
|
Beginnings of an asynchronous file chooser.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserbutton.c: display name and the is folder property
|
||||||
|
are now asynchronously set using set_info_for_at_path_iter(), the
|
||||||
|
is folder property is now also stored in the tree model.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c: lots of changes to the shortcuts
|
||||||
|
model code to make it operate asynchronously, check_is_folder() has
|
||||||
|
been "disabled" for now, all other synchronous calls were
|
||||||
|
replaced with asychronous ones.
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserentry.c: update call to
|
||||||
|
gtk_file_system_get_folder().
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserprivate.h: added two fields.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystem.[ch]: for about 85% changed to the changes
|
||||||
|
outlined in the proposal discussed on gtk-devel-list.
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemmodel.[ch]: updated all asynchronous calls,
|
||||||
|
_gtk_file_system_model_path_do() basically had to be rewritten
|
||||||
|
(and I still need to finish that).
|
||||||
|
|
||||||
|
* gtk/gtkfilesystemunix.c: changed to be compatible with the new
|
||||||
|
GtkFileSystem interface.
|
||||||
|
|
||||||
|
* gtk/gtkpathbar.c (button_clicked_cb): block/unblock the
|
||||||
|
button_clicked_cb callback around the call to
|
||||||
|
gtk_toggle_button_set_active(), avoids button_clicked_cb getting
|
||||||
|
called twice.
|
||||||
|
(_gtk_path_bar_set_path): refactored to be asynchronous.
|
500
ChangeLog.gtk-printing
Normal file
@@ -0,0 +1,500 @@
|
|||||||
|
2006-04-17 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* docs/tools/widgets.c (get_all_widgets): Add print dialog
|
||||||
|
and page setup dialog.
|
||||||
|
|
||||||
|
2006-04-11 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpapersize.c (gtk_paper_size_get_display_name):
|
||||||
|
Call gettext on the standard paper names.
|
||||||
|
|
||||||
|
2006-04-11 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gdk/gdk.symbols:
|
||||||
|
* gdk/win32/gdkevents-win32.c:
|
||||||
|
* gdk/win32/gdkwin32.h:
|
||||||
|
Add gdk_win32_set_modal_dialog_libgtk_only that we
|
||||||
|
need for handling the mainloop in the print dialogs.
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-win32.c:
|
||||||
|
Pump the gtk+ mainloop when needed in the print dialogs.
|
||||||
|
This means gtk+ windows will redraw while the print dialogs
|
||||||
|
are up.
|
||||||
|
|
||||||
|
2006-04-10 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-win32.c:
|
||||||
|
Better size handling.
|
||||||
|
Save win32-specific settings in additions to the generic ones
|
||||||
|
if the generic one is lossy.
|
||||||
|
|
||||||
|
2006-04-10 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-win32.c:
|
||||||
|
Finish implementing run_page_setup_dialog.
|
||||||
|
|
||||||
|
* gtk/gtkpagesetup.h:
|
||||||
|
* gtk/gtkpapersize.h:
|
||||||
|
* gtk/gtkprint-win32.h:
|
||||||
|
* gtk/gtkprintcontext.h:
|
||||||
|
* gtk/gtkprinter-private.h:
|
||||||
|
* gtk/gtkprintoperation-private.h:
|
||||||
|
* gtk/gtkprintoperation-unix.c:
|
||||||
|
* gtk/gtkprintoperation.h:
|
||||||
|
* gtk/gtkprintsettings.h:
|
||||||
|
s/EGG/GTK/
|
||||||
|
|
||||||
|
2006-04-09 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk+-unix-print-2.0.pc.in: Fix a typo (#337698)
|
||||||
|
|
||||||
|
2006-04-07 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/paper_names_offsets.c:
|
||||||
|
* gtk/gen-paper-names.c: Correct the suffix/duplicate optimizations.
|
||||||
|
|
||||||
|
2006-04-07 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-win32.c:
|
||||||
|
Initial work on gtk_print_run_page_setup_dialog.
|
||||||
|
Not reading margins yet.
|
||||||
|
|
||||||
|
2006-04-07 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/Makefile.am:
|
||||||
|
Link to winspool
|
||||||
|
|
||||||
|
* gtk/gtk.symbols:
|
||||||
|
* gtk/gtkprintoperation-private.h:
|
||||||
|
* gtk/gtkprintoperation-unix.c:
|
||||||
|
* gtk/gtkprintoperation.[ch]:
|
||||||
|
Add gtk_print_operation_get_status_string() and status
|
||||||
|
string to _gtk_print_operation_set_status.
|
||||||
|
Rename GTK_PRINT_STATUS_PROCESSING to GTK_PRINT_STATUS_PRINTING.
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-win32.c:
|
||||||
|
Poll for status updates
|
||||||
|
|
||||||
|
* modules/printbackends/cups/gtkprintbackendcups.c:
|
||||||
|
Rename GTK_PRINT_STATUS_PROCESSING to GTK_PRINT_STATUS_PRINTING.
|
||||||
|
|
||||||
|
* tests/print-editor.c:
|
||||||
|
Show print status string
|
||||||
|
|
||||||
|
2006-04-06 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/paper_names_offsets.c:
|
||||||
|
* gtk/gtkpapersize.c: Save 4K of .data by converting
|
||||||
|
the array of paper names to offsets.
|
||||||
|
|
||||||
|
* gtk/gen-paper-names.c: Utility used to create
|
||||||
|
paper_names_offsets.c from paper_names.c.
|
||||||
|
|
||||||
|
* gtk/Makefile.am: Necessary glue.
|
||||||
|
|
||||||
|
2006-04-06 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-win32.c:
|
||||||
|
Use glib base64 code.
|
||||||
|
Set up manual_* vars fully.
|
||||||
|
|
||||||
|
2006-04-06 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/Makefile.am:
|
||||||
|
Add -lcomdlg32 on win32
|
||||||
|
|
||||||
|
* gtk/gtkprint-win32.h:
|
||||||
|
Move WINVER define to .c files
|
||||||
|
|
||||||
|
* gtk/gtk.symbols:
|
||||||
|
* gtk/gtkprintoperation-win32.c:
|
||||||
|
Add empty gtk_print_run_page_setup win implementation
|
||||||
|
Move WINVER define to this file
|
||||||
|
|
||||||
|
* modules/Makefile.am:
|
||||||
|
Only build print backends on unix
|
||||||
|
|
||||||
|
2006-04-05 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
* gtk/gtkprintoperation-unix.c: Use GTK_RESPONSE_CANCEL/OK
|
||||||
|
instead of GTK_RESPONSE_REJECT/ACCEPT, to make Esc close
|
||||||
|
the dialog, and to not use values which are documented
|
||||||
|
as reserved for apps.
|
||||||
|
|
||||||
|
2006-04-05 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* modules/printbackends/lpr/gtkprintbackendlpr.c:
|
||||||
|
Don't hardcode lpr command, expose full commandline.
|
||||||
|
|
||||||
|
2006-04-05 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpagesetupunixdialog.c:
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
Don't check for printer changes after dialog is dead.
|
||||||
|
|
||||||
|
* gtk/gtkprintbackend.c: (gtk_print_backend_load_modules):
|
||||||
|
Strip whitespace from backend strings
|
||||||
|
|
||||||
|
* gtk/gtkprintbackend.h:
|
||||||
|
Add private printer functions
|
||||||
|
|
||||||
|
* gtk/gtkprinter-private.h:
|
||||||
|
Move GtkPrinterPrivate into gtkprinter.c
|
||||||
|
|
||||||
|
* gtk/gtkprinter.[ch]:
|
||||||
|
Move GtkPrinterPrivate into gtkprinter.c
|
||||||
|
Add new construct properties.
|
||||||
|
Add setter functions.
|
||||||
|
|
||||||
|
* modules/printbackends/cups/gtkprintbackendcups.c:
|
||||||
|
* modules/printbackends/cups/gtkprintercups.[ch]:
|
||||||
|
Update to new APIs.
|
||||||
|
|
||||||
|
* modules/printbackends/lpr/Makefile.am:
|
||||||
|
* modules/printbackends/lpr/gtkprintbackendlpr.c:
|
||||||
|
* modules/printbackends/lpr/gtkprinterlpr.[ch]
|
||||||
|
Update to new APIs.
|
||||||
|
Remove GtkPrinterLPR.
|
||||||
|
Read/Save command line option in settings
|
||||||
|
|
||||||
|
* modules/printbackends/pdf/Makefile.am:
|
||||||
|
* modules/printbackends/pdf/gtkprintbackendpdf.c:
|
||||||
|
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
|
||||||
|
Update to new APIs.
|
||||||
|
Remove GtkPrinterPDF.
|
||||||
|
|
||||||
|
2006-04-04 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation.h: Add missing standard
|
||||||
|
GObject macros. (#337277, Yevgen Muntyan)
|
||||||
|
|
||||||
|
2006-04-04 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprinteroption.[ch]:
|
||||||
|
Add gtk_printer_option_has_choice.
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
* modules/printbackends/cups/gtkprintbackendcups.c:
|
||||||
|
Add support for "print at time".
|
||||||
|
|
||||||
|
2006-04-04 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpapersize.c:
|
||||||
|
Handle ppd names with ".Transverse" suffix
|
||||||
|
Don't force width < height
|
||||||
|
|
||||||
|
* gtk/gtkprinteroption.c:
|
||||||
|
Make sure that value is never NULL.
|
||||||
|
|
||||||
|
* modules/printbackends/cups/gtkprintbackendcups.c:
|
||||||
|
Add some HP whitelist names
|
||||||
|
Remove spew from ignored options.
|
||||||
|
|
||||||
|
2006-04-03 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpagesetupunixdialog.c:
|
||||||
|
Fix warnings
|
||||||
|
|
||||||
|
* gtk/gtkprinter-private.h:
|
||||||
|
* gtk/gtkprinter.[ch]:
|
||||||
|
Add gtk_printer_is_default.
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
Use gtk_printer_is_default.
|
||||||
|
|
||||||
|
* modules/printbackends/cups/gtkprintbackendcups.c:
|
||||||
|
Get default printer info
|
||||||
|
|
||||||
|
* modules/printbackends/pdf/gtkprintbackendpdf.c:
|
||||||
|
Fix warning.
|
||||||
|
|
||||||
|
2006-04-03 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* modules/printbackends/pdf/gtkprintbackendpdf.c:
|
||||||
|
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
|
||||||
|
Correctly read/write/use the output filename setting.
|
||||||
|
|
||||||
|
2006-04-03 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpagesetupunixdialog.c:
|
||||||
|
Disable margin from printers if there are no printers.
|
||||||
|
|
||||||
|
* gtk/gtkpapersize.c:
|
||||||
|
Fix build.
|
||||||
|
|
||||||
|
2006-04-01 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtk.symbols: protect unix-only symbols by
|
||||||
|
G_OS_UNIX (#336819, Yevgen Muntyan)
|
||||||
|
|
||||||
|
* gtk/gtkpapersize.c: Win32 fixes. (#336806, Yevgen Muntyan)
|
||||||
|
|
||||||
|
2006-03-30 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtk.symbols:
|
||||||
|
Update
|
||||||
|
|
||||||
|
* gtk/gtkprintbackend.[ch]:
|
||||||
|
Add dnotify to gtk_print_backend_print_stream
|
||||||
|
|
||||||
|
* gtk/gtkprinter-private.h:
|
||||||
|
Declare gtk_print_job_set_status
|
||||||
|
|
||||||
|
* gtk/gtkprinter.[ch]:
|
||||||
|
Remove gtk_printer_prepare_job.
|
||||||
|
|
||||||
|
* gtk/gtkprintjob.[ch]:
|
||||||
|
Now you create print job directly with gtk_print_job_new() and
|
||||||
|
they'll be prepared automatically.
|
||||||
|
Add status_changed signal and get_status.
|
||||||
|
Add gtk_print_job_set_source_file to allow sending a file.
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-private.h:
|
||||||
|
Add destroy notify for platform_data.
|
||||||
|
Declare _gtk_print_operation_set_status.
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-unix.c:
|
||||||
|
Hook up status change handling.
|
||||||
|
Use the new way to get a print job.
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation.[ch]:
|
||||||
|
Add status_changed signal and get_status/is_finished.
|
||||||
|
|
||||||
|
|
||||||
|
* modules/printbackends/cups/gtkprintbackendcups.c:
|
||||||
|
* modules/printbackends/lpr/gtkprintbackendlpr.c:
|
||||||
|
* modules/printbackends/pdf/gtkprintbackendpdf.c:
|
||||||
|
Update to use new APIs and set status on the job.
|
||||||
|
Cups polls for the status.
|
||||||
|
|
||||||
|
* tests/print-editor.c:
|
||||||
|
Track the print operations in the status bar.
|
||||||
|
|
||||||
|
2006-03-30 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/Makefile.am:
|
||||||
|
* gtk/gtkprintbackend.c:
|
||||||
|
Default to "pdf,cups" if we found cups, and
|
||||||
|
"pdf,lpr" otherwise.
|
||||||
|
|
||||||
|
2006-03-29 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* modules/printbackends/Makefile.am:
|
||||||
|
* configure.in: Don't build the cups backend
|
||||||
|
if cups is not there.
|
||||||
|
|
||||||
|
2006-03-29 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtk.symbols:
|
||||||
|
gtk_printer_prep_job -> gtk_printer_prepare_job
|
||||||
|
gtk_print_job_prep -> gtk_print_job_prepare
|
||||||
|
|
||||||
|
* gtk/gtkprintbackend.h:
|
||||||
|
* gtk/gtkprinter-private.h:
|
||||||
|
* gtk/gtkprinter.[ch]:
|
||||||
|
Add print_job argument to printer_prepare_for_print
|
||||||
|
gtk_printer_prep_job -> gtk_printer_prepare_job
|
||||||
|
|
||||||
|
* gtk/gtkprintjob.[ch]:
|
||||||
|
Add manual rendering settings to GtkPrintJob.
|
||||||
|
gtk_print_job_prep -> gtk_print_job_prepare
|
||||||
|
|
||||||
|
* gtk/gtkprintoperation-private.h:
|
||||||
|
* gtk/gtkprintoperation-unix.c:
|
||||||
|
* gtk/gtkprintoperation.c:
|
||||||
|
Get more manual_* settings working.
|
||||||
|
Run mainloop after each printed page.
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
Save page ranges.
|
||||||
|
|
||||||
|
* modules/printbackends/cups/gtkprintbackendcups.c:
|
||||||
|
* modules/printbackends/lpr/gtkprintbackendlpr.c:
|
||||||
|
* modules/printbackends/pdf/gtkprintbackendpdf.c:
|
||||||
|
Now put the manual_* settings inside the PrintJob in
|
||||||
|
prepare_for_print.
|
||||||
|
|
||||||
|
2006-03-29 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
Make sure we remember the format-for printer.
|
||||||
|
Also, use it as the default if set.
|
||||||
|
|
||||||
|
2006-03-28 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
Remove unnecessary padding under list.
|
||||||
|
|
||||||
|
2006-03-28 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpagesetupunixdialog.c:
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
More HIGy layout.
|
||||||
|
|
||||||
|
2006-03-28 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpagesetupunixdialog.c:
|
||||||
|
HIG conformance of spacing and titles.
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
Use standard constructor form print button too.
|
||||||
|
|
||||||
|
2006-03-27 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* modules/printbackends/*/Makefile.am: Fix
|
||||||
|
a problem with builddir != srcdir builds.
|
||||||
|
(#335915, Yevgen Muntyan)
|
||||||
|
|
||||||
|
2006-03-27 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintbackend.c: Simply the syntax
|
||||||
|
of the setting to "cups,pdf", and get rid
|
||||||
|
of the GScanner used to parse it.
|
||||||
|
|
||||||
|
2006-03-27 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
Reorder print list so status is at the end.
|
||||||
|
Ellipsize the status column.
|
||||||
|
|
||||||
|
2006-03-27 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpagesetupunixdialog.c:
|
||||||
|
Handle removed printers and status-changed.
|
||||||
|
Handle NULL printer location.
|
||||||
|
|
||||||
|
2006-03-27 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/Makefile.am:
|
||||||
|
* gtk/stock-icons/24/gtk-orientation-landscape.png:
|
||||||
|
* gtk/stock-icons/24/gtk-orientation-portrait.png:
|
||||||
|
* gtk/stock-icons/24/gtk-orientation-reverse-landscape.png:
|
||||||
|
* gtk/gtkiconfactory.c: (get_default_icons):
|
||||||
|
* gtk/gtkstock.h:
|
||||||
|
Add orientation stock icons.
|
||||||
|
|
||||||
|
* gtk/gtkpagesetupunixdialog.c:
|
||||||
|
Use the orientation icons.
|
||||||
|
|
||||||
|
2006-03-27 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkpagesetupunixdialog.c:
|
||||||
|
* gtk/gtkprintjob.c:
|
||||||
|
* gtk/gtkprintoperation-unix.c:
|
||||||
|
* gtk/gtkprintunixdialog.c:
|
||||||
|
s/impl/dialog/
|
||||||
|
Don't prefix static functions with _
|
||||||
|
|
||||||
|
2006-03-26 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c: Don't use _(""). (#335898,
|
||||||
|
Christian Persch)
|
||||||
|
|
||||||
|
* modules/printbackends/*: Don't use G_DEFINE_TYPE
|
||||||
|
in modules.
|
||||||
|
|
||||||
|
* gtk/gtkprintbackend.c: Remove an unused static function.
|
||||||
|
|
||||||
|
2006-03-25 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtk.symbols: Add printing symbols
|
||||||
|
|
||||||
|
* gtk/gtkpapersize.[hc]:
|
||||||
|
* gtk/gtkpage*.[hc]:
|
||||||
|
* gtk/gtkprint*.[hc]: Add aliasing, #include cleanups.
|
||||||
|
|
||||||
|
* gtk/gtkprintcontext.h:
|
||||||
|
* gtk/gtkprintoperation.h:
|
||||||
|
* gtk/gtkprintsettings.h: Make get_type function const.
|
||||||
|
|
||||||
|
* modules/printbackends/pdf/gtkprintbackendpdf.c: Remove
|
||||||
|
C99ism.
|
||||||
|
|
||||||
|
* modules/printbackends/cups/gtkcupsutils.c: Use unsigned
|
||||||
|
integers for bitfields.
|
||||||
|
|
||||||
|
2006-03-24 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtknotebook.c: Fix docs
|
||||||
|
|
||||||
|
* gtk/Makefile.am (EXTRA_DIST): Add the stock icons here.
|
||||||
|
|
||||||
|
* gdk/directfb/Makefile.am (EXTRA_DIST): Remove ChangeLog,
|
||||||
|
to make make dist happier.
|
||||||
|
|
||||||
|
2006-03-24 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
* configure.in:
|
||||||
|
* gtk/gtkprintbackend.c:
|
||||||
|
* modules/printbackends/Makefile.am:
|
||||||
|
* modules/printbackends/cups/Makefile.am:
|
||||||
|
* modules/printbackends/lpr/Makefile.am:
|
||||||
|
* modules/printbackends/lpr/gtkprintbackendlpr.[ch]:
|
||||||
|
* modules/printbackends/lpr/gtkprinterlpr.[ch]:
|
||||||
|
* modules/printbackends/pdf/Makefile.am:
|
||||||
|
* modules/printbackends/pdf/gtkprintbackendpdf.[ch]:
|
||||||
|
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
|
||||||
|
Import pdf and lpr backend
|
||||||
|
|
||||||
|
2006-03-24 Alexander Larsson <alexl@redhat.com>
|
||||||
|
|
||||||
|
Import print-operation into gtk+
|
||||||
|
|
||||||
|
* .cvsignore:
|
||||||
|
* Makefile.am:
|
||||||
|
* gtk+-unix-print-2.0.pc.in:
|
||||||
|
Add gtk+-unix-print-2.0.pc
|
||||||
|
|
||||||
|
* configure.in:
|
||||||
|
Look for cups
|
||||||
|
Look for various _NL_* extensions
|
||||||
|
Output new makefiles and .pc.in
|
||||||
|
|
||||||
|
* gtk/Makefile.am:
|
||||||
|
Add new files
|
||||||
|
|
||||||
|
* gtk/gtk.h:
|
||||||
|
Include gtkprintoperation.h
|
||||||
|
|
||||||
|
* gtk/gtkenums.h:
|
||||||
|
Add printing enums
|
||||||
|
|
||||||
|
* gtk/gtkmarshalers.list:
|
||||||
|
Add required new marshallers
|
||||||
|
|
||||||
|
* gtk/gtkpagesetup.[ch]:
|
||||||
|
* gtk/gtkpagesetupunixdialog.[ch]:
|
||||||
|
* gtk/gtkpagesetupunixdialog.h:
|
||||||
|
* gtk/gtkpapersize.[ch]:
|
||||||
|
* gtk/gtkprint-win32.[ch]:
|
||||||
|
* gtk/gtkprintbackend.[ch]:
|
||||||
|
* gtk/gtkprintcontext.[ch]:
|
||||||
|
* gtk/gtkprinter-private.h:
|
||||||
|
* gtk/gtkprinter.[ch]:
|
||||||
|
* gtk/gtkprinteroption.[ch]:
|
||||||
|
* gtk/gtkprinteroptionset.[ch]:
|
||||||
|
* gtk/gtkprinteroptionwidget.[ch]:
|
||||||
|
* gtk/gtkprintjob.[ch]:
|
||||||
|
* gtk/gtkprintoperation-private.h:
|
||||||
|
* gtk/gtkprintoperation-unix.c:
|
||||||
|
* gtk/gtkprintoperation-win32.c:
|
||||||
|
* gtk/gtkprintoperation.[ch]:
|
||||||
|
* gtk/gtkprintsettings.[ch]:
|
||||||
|
* gtk/gtkprintunixdialog.[ch]:
|
||||||
|
* gtk/paper_names.c:
|
||||||
|
Generic printing support
|
||||||
|
|
||||||
|
* modules/Makefile.am:
|
||||||
|
* modules/printbackends/Makefile.am:
|
||||||
|
* modules/printbackends/cups/Makefile.am:
|
||||||
|
* modules/printbackends/cups/gtkcupsutils.[ch]:
|
||||||
|
* modules/printbackends/cups/gtkprintbackendcups.[ch]:
|
||||||
|
* modules/printbackends/cups/gtkprintercups.[ch]:
|
||||||
|
Cups backend
|
||||||
|
|
||||||
|
* tests/.cvsignore:
|
||||||
|
* tests/Makefile.am:
|
||||||
|
* tests/print-editor.c:
|
||||||
|
Add printing test app
|
||||||
|
|
4961
ChangeLog.pre-1-0
Normal file
9106
ChangeLog.pre-1-2
Normal file
28743
ChangeLog.pre-2-0
Normal file
9300
ChangeLog.pre-2-10
Normal file
8912
ChangeLog.pre-2-12
Normal file
9588
ChangeLog.pre-2-14
Normal file
3959
ChangeLog.pre-2-16
Normal file
7358
ChangeLog.pre-2-2
Normal file
11857
ChangeLog.pre-2-4
Normal file
7235
ChangeLog.pre-2-6
Normal file
5381
ChangeLog.pre-2-8
Normal file
64
HACKING
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
If you want to hack on the GTK+ project, you'll need to have
|
||||||
|
the following packages installed:
|
||||||
|
|
||||||
|
- GNU autoconf 2.54
|
||||||
|
- GNU automake 1.7
|
||||||
|
- GNU libtool 1.4
|
||||||
|
- indent (GNU indent 1.9.1 is known good)
|
||||||
|
- GNU gettext 10.40
|
||||||
|
|
||||||
|
These should be available by ftp from ftp.gnu.org or any of the
|
||||||
|
fine GNU mirrors. Beta software can be found at alpha.gnu.org.
|
||||||
|
|
||||||
|
Up-to-date instructions about developing GNOME applications and libraries
|
||||||
|
can be found here:
|
||||||
|
|
||||||
|
http://developer.gnome.org
|
||||||
|
|
||||||
|
Information about using git with GNOME can be found here:
|
||||||
|
|
||||||
|
http://live.gnome.org/Git
|
||||||
|
|
||||||
|
In order to get GIT gtk+ installed on your system, you need to have
|
||||||
|
the most recent GIT versions of glib, pango, and atk installed as well.
|
||||||
|
The installation process of these libraries is similar to that of gtk+, but
|
||||||
|
needs to be fulfilled prior to installation of gtk+.
|
||||||
|
|
||||||
|
If at all possible, please use GIT to get the latest development version of
|
||||||
|
gtk+ and glib. You can do the following to get glib and gtk+ from GIT:
|
||||||
|
|
||||||
|
$ git clone git://git.gnome.org/glib
|
||||||
|
$ git clone git://git.gnome.org/pango
|
||||||
|
$ git clone git://git.gnome.org/atk
|
||||||
|
$ git clone git://git.gnome.org/gtk+
|
||||||
|
|
||||||
|
Note: if you plan to push changes to back to the master repository and
|
||||||
|
have a gnome account, you want to use the following instead:
|
||||||
|
|
||||||
|
$ git clone ssh://<username>@git.gnome.org/git/gtk+
|
||||||
|
|
||||||
|
To compile the GIT version of gtk+ on your system, you will need to take
|
||||||
|
several steps to setup the tree for compilation. You can do all these
|
||||||
|
steps at once by running:
|
||||||
|
|
||||||
|
gtk+$ ./autogen.sh
|
||||||
|
|
||||||
|
Basically this does the following for you:
|
||||||
|
|
||||||
|
gtk+$ aclocal; automake; autoconf
|
||||||
|
|
||||||
|
The above commands create the `configure' script. Now you
|
||||||
|
run the `configure' script in `gtk+/' to create all Makefiles.
|
||||||
|
More information about that in `INSTALL'.
|
||||||
|
|
||||||
|
Before running `autogen.sh' or `configure', make sure you have libtool
|
||||||
|
in your path.
|
||||||
|
|
||||||
|
Note that autogen.sh runs configure for you. If you wish to pass
|
||||||
|
options like `--prefix=/usr' to `configure' you can give those options
|
||||||
|
to `autogen.sh' and they will be passed on to `configure'.
|
||||||
|
|
||||||
|
For information about submitting patches and pushing changes
|
||||||
|
to GIT, see the `README' and `README.commits' files. In particular,
|
||||||
|
don't, under any circumstances, push anything to GIT before
|
||||||
|
reading and understanding `README.commmits'.
|
35
INSTALL.in
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
Prerequisites
|
||||||
|
=============
|
||||||
|
|
||||||
|
GTK+ requires the following packages:
|
||||||
|
|
||||||
|
- The GLib, Pango, GdkPixbuf, ATK and cairo libraries, available at
|
||||||
|
the same location as GTK+. GTK+ @GTK_VERSION@ requires at least
|
||||||
|
GLib @GLIB_REQUIRED_VERSION@, Pango @PANGO_REQUIRED_VERSION@,
|
||||||
|
GdkPixbuf @GDK_PIXBUF_REQUIRED_VERSION@, ATK @ATK_REQUIRED_VERSION@
|
||||||
|
and cairo @CAIRO_REQUIRED_VERSION@.
|
||||||
|
|
||||||
|
- gobject-introspection 0.9.3 or newer.
|
||||||
|
|
||||||
|
Simple install procedure
|
||||||
|
========================
|
||||||
|
|
||||||
|
% gzip -cd gtk+-@GTK_VERSION@.tar.gz | tar xvf - # unpack the sources
|
||||||
|
% cd gtk+-@GTK_VERSION@ # change to the toplevel directory
|
||||||
|
% ./configure # run the `configure' script
|
||||||
|
% make # build GTK+
|
||||||
|
[ Become root if necessary ]
|
||||||
|
% make install # install GTK+
|
||||||
|
|
||||||
|
The Details
|
||||||
|
===========
|
||||||
|
|
||||||
|
Complete information about installing GTK+ and related libraries can be found
|
||||||
|
in the file:
|
||||||
|
|
||||||
|
docs/reference/gtk/html/gtk-building.html
|
||||||
|
|
||||||
|
Or online at:
|
||||||
|
|
||||||
|
http://developer.gnome.org/doc/API/2.0/gtk/gtk-building.html
|
||||||
|
|
12
MAINTAINERS
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Matthias Clasen
|
||||||
|
E-mail: mclasen@redhat.com
|
||||||
|
Userid: matthiasc
|
||||||
|
|
||||||
|
Tim Janik
|
||||||
|
E-mail: timj@gtk.org
|
||||||
|
Userid: timj
|
||||||
|
|
||||||
|
Note that a lot of people are contributing to GTK+, and some parts of it
|
||||||
|
are technically maintained by other people. The people listed above are
|
||||||
|
meant as contacts for administrative questions such as cvs accounts. Other
|
||||||
|
questions are best directed to the mailing list gtk-devel-list@gnome.org.
|
176
Makefile.am
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
## Makefile.am for GTK+
|
||||||
|
include $(top_srcdir)/Makefile.decl
|
||||||
|
|
||||||
|
SRC_SUBDIRS = gdk gtk modules demos tests perf examples
|
||||||
|
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
|
||||||
|
|
||||||
|
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
||||||
|
|
||||||
|
EXTRA_DIST += \
|
||||||
|
autogen.sh \
|
||||||
|
HACKING \
|
||||||
|
makecopyright \
|
||||||
|
NEWS.pre-1-0 \
|
||||||
|
ChangeLog.pre-1-0 \
|
||||||
|
ChangeLog.pre-1-2 \
|
||||||
|
ChangeLog.pre-2-0 \
|
||||||
|
ChangeLog.pre-2-2 \
|
||||||
|
ChangeLog.pre-2-4 \
|
||||||
|
ChangeLog.pre-2-6 \
|
||||||
|
ChangeLog.pre-2-8 \
|
||||||
|
ChangeLog.pre-2-10 \
|
||||||
|
ChangeLog.pre-2-12 \
|
||||||
|
ChangeLog.pre-2-14 \
|
||||||
|
ChangeLog.pre-2-16 \
|
||||||
|
ChangeLog.gtk-async-file-chooser \
|
||||||
|
ChangeLog.gtk-printing \
|
||||||
|
README.commits \
|
||||||
|
README.win32 \
|
||||||
|
config.h.win32 \
|
||||||
|
makefile.msc \
|
||||||
|
gtk-zip.sh.in \
|
||||||
|
sanitize-la.sh \
|
||||||
|
po/README.translators \
|
||||||
|
po/po2tbl.sed.in
|
||||||
|
|
||||||
|
MAINTAINERCLEANFILES = \
|
||||||
|
$(srcdir)/INSTALL \
|
||||||
|
$(srcdir)/README \
|
||||||
|
$(srcdir)/aclocal.m4 \
|
||||||
|
$(srcdir)/autoscan.log \
|
||||||
|
$(srcdir)/compile \
|
||||||
|
$(srcdir)/config.guess \
|
||||||
|
$(srcdir)/config.h.in \
|
||||||
|
$(srcdir)/config.sub \
|
||||||
|
$(srcdir)/configure.scan \
|
||||||
|
$(srcdir)/depcomp \
|
||||||
|
$(srcdir)/install-sh \
|
||||||
|
$(srcdir)/ltmain.sh \
|
||||||
|
$(srcdir)/missing \
|
||||||
|
$(srcdir)/mkinstalldirs \
|
||||||
|
$(srcdir)/omf.make \
|
||||||
|
$(srcdir)/xmldocs.make \
|
||||||
|
$(srcdir)/gtk-doc.make \
|
||||||
|
$(srcdir)/ChangeLog \
|
||||||
|
`find "$(srcdir)" -type f -name Makefile.in -print`
|
||||||
|
|
||||||
|
GDKTARGET=@gdktarget@
|
||||||
|
|
||||||
|
## Copy .pc files to target-specific names
|
||||||
|
gtk+-$(GDKTARGET)-3.0.pc: gtk+-3.0.pc
|
||||||
|
rm -f gtk+-$(GDKTARGET)-3.0.pc && \
|
||||||
|
cp gtk+-3.0.pc gtk+-$(GDKTARGET)-3.0.pc
|
||||||
|
|
||||||
|
gdk-$(GDKTARGET)-3.0.pc: gdk-3.0.pc
|
||||||
|
rm -f gdk-$(GDKTARGET)-3.0.pc && \
|
||||||
|
cp gdk-3.0.pc gdk-$(GDKTARGET)-3.0.pc
|
||||||
|
|
||||||
|
gtk+-$(GDKTARGET)-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc
|
||||||
|
rm -f gtk+-$(GDKTARGET)-3.0-uninstalled.pc && \
|
||||||
|
cp gtk+-3.0-uninstalled.pc gtk+-$(GDKTARGET)-3.0-uninstalled.pc
|
||||||
|
|
||||||
|
gdk-$(GDKTARGET)-3.0-uninstalled.pc: gdk-3.0-uninstalled.pc
|
||||||
|
rm -f gdk-$(GDKTARGET)-3.0-uninstalled.pc && \
|
||||||
|
cp gdk-3.0-uninstalled.pc gdk-$(GDKTARGET)-3.0-uninstalled.pc
|
||||||
|
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = gdk-$(GDKTARGET)-3.0.pc gtk+-$(GDKTARGET)-3.0.pc gail-3.0.pc
|
||||||
|
|
||||||
|
if OS_UNIX
|
||||||
|
pkgconfig_DATA += gtk+-unix-print-3.0.pc
|
||||||
|
endif
|
||||||
|
|
||||||
|
DISTCLEANFILES = \
|
||||||
|
gtk+-unix-print-3.0.pc \
|
||||||
|
gtk+-$(GDKTARGET)-3.0.pc \
|
||||||
|
gdk-$(GDKTARGET)-3.0.pc \
|
||||||
|
gail-3.0.pc \
|
||||||
|
gtk+-$(GDKTARGET)-3.0-uninstalled.pc \
|
||||||
|
gdk-$(GDKTARGET)-3.0-uninstalled.pc \
|
||||||
|
gail-3.0-uninstalled.pc \
|
||||||
|
config.lt
|
||||||
|
|
||||||
|
distclean-local:
|
||||||
|
if test "$(srcdir)" = "."; then :; else \
|
||||||
|
rm -f ChangeLog; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
ChangeLog:
|
||||||
|
@echo Creating $@
|
||||||
|
@if test -d "$(srcdir)/.git"; then \
|
||||||
|
(GIT_DIR=$(top_srcdir)/.git ./missing --run git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \
|
||||||
|
&& mv -f $@.tmp $@ \
|
||||||
|
|| ($(RM) $@.tmp; \
|
||||||
|
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
|
||||||
|
(test -f $@ || echo git-log is required to generate this file >> $@)); \
|
||||||
|
else \
|
||||||
|
test -f $@ || \
|
||||||
|
(echo A git checkout and git-log is required to generate ChangeLog >&2 && \
|
||||||
|
echo A git checkout and git-log is required to generate this file >> $@); \
|
||||||
|
fi
|
||||||
|
|
||||||
|
## copy the default target for this platform to gdk-3.0.pc and gtk+-3.0.pc
|
||||||
|
DEFAULT_GDKTARGET=x11
|
||||||
|
install-data-hook:
|
||||||
|
(cd $(DESTDIR)$(pkgconfigdir) && \
|
||||||
|
test -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc && \
|
||||||
|
test -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc && \
|
||||||
|
rm -f gdk-3.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc gdk-3.0.pc && \
|
||||||
|
rm -f gtk+-3.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc gtk+-3.0.pc) || \
|
||||||
|
(cd $(DESTDIR)$(pkgconfigdir) && \
|
||||||
|
rm -f gdk-3.0.pc && cp -f gdk-$(GDKTARGET)-3.0.pc gdk-3.0.pc && \
|
||||||
|
rm -f gtk+-3.0.pc && cp -f gtk+-$(GDKTARGET)-3.0.pc gtk+-3.0.pc)
|
||||||
|
|
||||||
|
uninstall-local:
|
||||||
|
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-3.0.pc
|
||||||
|
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-3.0.pc
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
|
||||||
|
CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
|
||||||
|
CONFIG_HEADERS= \
|
||||||
|
$(SHELL) config.status \
|
||||||
|
&& cp INSTALL README $(distdir) ; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
.PHONY: files release sanity snapshot ChangeLog
|
||||||
|
|
||||||
|
files:
|
||||||
|
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
|
||||||
|
echo $$p; \
|
||||||
|
done
|
||||||
|
@for subdir in $(SUBDIRS); do \
|
||||||
|
files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
|
||||||
|
for file in $$files; do \
|
||||||
|
echo $$subdir/$$file; \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
|
release:
|
||||||
|
rm -rf .deps */.deps
|
||||||
|
$(MAKE) distcheck
|
||||||
|
|
||||||
|
sanity:
|
||||||
|
./sanity_check $(VERSION)
|
||||||
|
|
||||||
|
|
||||||
|
snapshot:
|
||||||
|
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
|
||||||
|
|
||||||
|
DISTCHECK_CONFIGURE_FLAGS = \
|
||||||
|
--enable-gtk-doc \
|
||||||
|
--enable-man \
|
||||||
|
--disable-rebuilds \
|
||||||
|
--enable-introspection
|
||||||
|
|
||||||
|
GITIGNOREFILES = \
|
||||||
|
po-properties/Makefile.in.in \
|
||||||
|
po-properties/Makefile.in \
|
||||||
|
po-properties/Makefile \
|
||||||
|
po-properties/*.gmo \
|
||||||
|
po-properties/*.mo \
|
||||||
|
po-properties/POTFILES \
|
||||||
|
po-properties/stamp-it \
|
||||||
|
po-properties/.intltool-merge-cache
|
||||||
|
|
||||||
|
-include $(top_srcdir)/git.mk
|
86
Makefile.decl
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# GTK+ - The GIMP Toolkit
|
||||||
|
|
||||||
|
GTESTER = gtester # in $PATH for non-GLIB packages
|
||||||
|
GTESTER_REPORT = gtester-report # in $PATH for non-GLIB packages
|
||||||
|
|
||||||
|
# initialize variables for unconditional += appending
|
||||||
|
EXTRA_DIST =
|
||||||
|
TEST_PROGS =
|
||||||
|
|
||||||
|
### testing rules
|
||||||
|
|
||||||
|
# Xvfb based test rules
|
||||||
|
XVFB = Xvfb -ac -noreset -screen 0 800x600x16
|
||||||
|
XIDS = 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 \
|
||||||
|
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 \
|
||||||
|
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 \
|
||||||
|
1008 1009 4703 4721 4723 4729 4733 4751 9973 9974 9975 9976 9977 9978 9979 \
|
||||||
|
9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 \
|
||||||
|
9995 9996 9997 9998 9999
|
||||||
|
SKIP_GDKTARGET = \
|
||||||
|
test "$(gdktarget)" != "x11" \
|
||||||
|
&& echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
|
||||||
|
XVFB_START = \
|
||||||
|
${XVFB} -help 2>/dev/null 1>&2 \
|
||||||
|
&& XID=`for id in $(XIDS) ; do test -e /tmp/.X$$id-lock || { echo $$id; exit 0; }; done; exit 1` \
|
||||||
|
&& { ${XVFB} :$$XID -screen 0 800x600x16 -nolisten tcp -auth /dev/null >/dev/null 2>&1 & \
|
||||||
|
trap "kill -15 $$! " 0 HUP INT QUIT TRAP USR1 PIPE TERM ; } \
|
||||||
|
|| { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } \
|
||||||
|
&& DISPLAY=:$$XID && export DISPLAY
|
||||||
|
# call as: $(XVFB_START) && someprogram
|
||||||
|
|
||||||
|
# test: run all tests in cwd and subdirs
|
||||||
|
test: test-cwd test-recurse
|
||||||
|
# test-cwd: run tests in cwd
|
||||||
|
test-cwd: ${TEST_PROGS}
|
||||||
|
@$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \
|
||||||
|
$(XVFB_START) && { set -e; $(TESTS_ENVIRONMENT) ${GTESTER} --verbose ${TEST_PROGS}; }; \
|
||||||
|
}
|
||||||
|
# test-recurse: run tests in subdirs
|
||||||
|
test-recurse:
|
||||||
|
@ for subdir in $(SUBDIRS) ; do \
|
||||||
|
test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \
|
||||||
|
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) test ) || exit $? ; \
|
||||||
|
done
|
||||||
|
# test-report: run tests in subdirs and generate report
|
||||||
|
# perf-report: run tests in subdirs with -m perf and generate report
|
||||||
|
# full-report: like test-report: with -m perf and -m slow
|
||||||
|
test-report perf-report full-report: ${TEST_PROGS}
|
||||||
|
@ ignore_logdir=true ; \
|
||||||
|
if test -z "$$GTESTER_LOGDIR" ; then \
|
||||||
|
GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
|
||||||
|
ignore_logdir=false ; \
|
||||||
|
fi ; \
|
||||||
|
for subdir in $(SUBDIRS) ; do \
|
||||||
|
test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \
|
||||||
|
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
|
||||||
|
done ; \
|
||||||
|
$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \
|
||||||
|
case $@ in \
|
||||||
|
test-report) test_options="-k";; \
|
||||||
|
perf-report) test_options="-k -m=perf";; \
|
||||||
|
full-report) test_options="-k -m=perf -m=slow";; \
|
||||||
|
esac ; \
|
||||||
|
$(XVFB_START) && { \
|
||||||
|
set -e; \
|
||||||
|
if test -z "$$GTESTER_LOGDIR" ; then \
|
||||||
|
${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
|
||||||
|
elif test -n "${TEST_PROGS}" ; then \
|
||||||
|
${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
|
||||||
|
fi ; \
|
||||||
|
}; \
|
||||||
|
}; \
|
||||||
|
$$ignore_logdir || { \
|
||||||
|
echo '<?xml version="1.0"?>' > $@.xml ; \
|
||||||
|
echo '<report-collection>' >> $@.xml ; \
|
||||||
|
for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
|
||||||
|
sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
|
||||||
|
done ; \
|
||||||
|
echo >> $@.xml ; \
|
||||||
|
echo '</report-collection>' >> $@.xml ; \
|
||||||
|
rm -rf "$$GTESTER_LOGDIR"/ ; \
|
||||||
|
${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
|
||||||
|
}
|
||||||
|
.PHONY: test test-cwd test-recurse test-report perf-report full-report
|
||||||
|
# run make test-cwd as part of make check
|
||||||
|
check-local: test-cwd
|
903
NEWS.pre-2.0
@@ -1,903 +0,0 @@
|
|||||||
Overview of Changes in GTK+ 2.0.0
|
|
||||||
=================================
|
|
||||||
|
|
||||||
* GtkTreeView fixes [Jonathan Blandford, Kristian Rietveld, Darin Adler]
|
|
||||||
* Build fixes [Anders Carlsson, Tor Lillqvist, Manish Singh]
|
|
||||||
* Bug fixes. [Thomas Leonard, Owen Taylor]
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 2.0.0 rc1
|
|
||||||
=====================================
|
|
||||||
|
|
||||||
* GtkTreeView fixes [Kristian Rietveld, Jonathan Blandford, Richard Hult]
|
|
||||||
* Text widget fixes [Havoc Pennington]
|
|
||||||
* Efficiency fixes when using Xft [Owen Taylor]
|
|
||||||
* Key handling fixes and other fixes for Win32 [Hans Breuer, Tor Lillqvist]
|
|
||||||
* Try to fix key handling without XKEYBOARD extension [Owen]
|
|
||||||
* Documentation fixes and improvements
|
|
||||||
[Matthias Clasen, Alexey Malyshev, Akira Tagoh, Vitaly Tishkov]
|
|
||||||
* Widget drawing improvements [Soeren Sandmann]
|
|
||||||
* Allow cycling between multiple menu bars with <Control>Tab [Owen]
|
|
||||||
* Try to build libraries with only shared library dependencies on Xft to
|
|
||||||
deal with transition to Xft2 [Owen]
|
|
||||||
* Portability fixes [Owen, Miroslaw Dobrzanski-Neumann]
|
|
||||||
* Don't use red as the default cursor color [Owen]
|
|
||||||
* Bug fixes, bug fixes, bug fixes.
|
|
||||||
|
|
||||||
Other contributors: Darin Adler, Jacob Berkman, Kevin Breit, Hans Breuer,
|
|
||||||
Anders Carlsson, Damon Chaplin, Finlay Dobbie, Jody Goldberg,
|
|
||||||
Andreas J. Guelzow, Scott Guilbeaux, Vlad Harchev, James Henstridge,
|
|
||||||
Tim Janik, Satyajit Kanungo, Charles Kerr, Sergey Kuzminov, Miles Lane,
|
|
||||||
Alexander Larsson, Paolo Maggi, Skip Montaro, Jan Mynarik, Sven Neumann,
|
|
||||||
Padraig O'Briain, Narayani Pattipati, Mark Patton, Havoc Pennington,
|
|
||||||
Ettore Perazzoli, Guillermo S. Romero, Manish Singh, Morten Welinder
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.15
|
|
||||||
==================================
|
|
||||||
|
|
||||||
* New stock and improved icon images
|
|
||||||
[Tuomas Kuosmanen, Jakub Steiner, Anders Carlsson]
|
|
||||||
* Widget drawing improvements for check and radio buttons,
|
|
||||||
spinbuttons [Soeren Sandmann]
|
|
||||||
* Clean up module search path algorithm, use GTK_PATH [Owen Taylor]
|
|
||||||
* Add GtkSetting for font name. [Richard Hestilow]
|
|
||||||
* Much improved key matching code, accelerators work independent
|
|
||||||
of group [Owen]
|
|
||||||
* Make mnemonics work for embedded GtkPlug widgets [Owen]
|
|
||||||
* Keynav improvements for GtkTreeView [Kristian Rietveld]
|
|
||||||
* Fix gtk_tree_view_scroll_to_cell() [Jonathan Blandford]
|
|
||||||
* Rename gtk_tree_view_get_iter_root() and gtk_tree_path_new_root()
|
|
||||||
to gtk_tree_view_get_iter_first() and gtk_tree_path_new_first(),
|
|
||||||
add compatibility macros.
|
|
||||||
* GtkTreeView bug fixes [Kristian, Anders, Damon Chaplin]
|
|
||||||
* GtkTextView bug fixes [Havoc Pennington]
|
|
||||||
* Pad class structures for future binary compatibility [Owen]
|
|
||||||
* Tutorial improvements [Sven Neumann, Matthias Clasen]
|
|
||||||
* Fixes for MULTIPLE selection target [Gregory Merchan, Owen]
|
|
||||||
* Fix problems with initial widget size [Owen]
|
|
||||||
* AIX compilation fixes [Miroslaw Dobrzanski-Neumann]
|
|
||||||
* Win32 fixes [Hans Breuer, Tor Lillqvist]
|
|
||||||
* Miscellaneous bug fixes
|
|
||||||
|
|
||||||
Other contributors: David L. Cooper, Eric Fischer, Jody Goldberg,
|
|
||||||
Satajyit Kanungo, Thomas Leonard, Mark Patton, Manish Singh,
|
|
||||||
Nicolas Setton
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.14
|
|
||||||
==================================
|
|
||||||
|
|
||||||
* Keyboard focus improvements [Owen Taylor]
|
|
||||||
* Code cleanup [Matthias Clasen, Manish Singh, Darin Adler]
|
|
||||||
* Fix accidentally exported variables [Mark McLoughlin]
|
|
||||||
* GtkTreeView fixes [Jonathan Blandford, Kristian Rietveld, John Harper, Darin]
|
|
||||||
* Default to yellow tooltips [Owen]
|
|
||||||
* RC file fixes for reloading, priorities [Owen, Matthias]
|
|
||||||
* GtkMenu behavior improvements and bug fixes [Owen, Arnaud Charlet]
|
|
||||||
* GtkTextView fixes [Havoc Pennington, Daniel Elstner, Dennis Bjorklund]
|
|
||||||
* Improve keynav for paned widgets, tooltips, spin buttons, notebooks,
|
|
||||||
scrolled windows [Soeren Sandmann, Padraig, Owen]
|
|
||||||
* Add Emacs/Default key themes [Owen]
|
|
||||||
* Win32 fixes [Hans Breuer, Tor Lillqvist]
|
|
||||||
* Ethiopic input methods [Daniel Yacob]
|
|
||||||
* Opaque paned window resizing [Soeren]
|
|
||||||
* Tweak table expansion behavior [Tim Janik]
|
|
||||||
* Fix GtkCalendar focus drawing [Bill Haneman]
|
|
||||||
* Allow themeable cursor thickness [Bill]
|
|
||||||
* Start of fixing of tutorial for GTK+-2.0 [Matthias]
|
|
||||||
* Add a ::adjust-bounds signal to GtkRange to allow spreadsheet style
|
|
||||||
scrollbars. [Jody Goldberg]
|
|
||||||
* Add the ability to turn on multiple selection for GtkFileSel [Manish]
|
|
||||||
* Bug fixes
|
|
||||||
|
|
||||||
Other contributors: Jacob Berkman, Padraig O'Briain, Anders Carlsson,
|
|
||||||
Johan Dahlin, Richard Hult, Stefan Kost, Alex Larsson, Thomas Leonard,
|
|
||||||
Paolo Maggi, Alexey Malyshev, Federico Mena Quintero, Skip Montaro,
|
|
||||||
Sven Neumann, Havoc Pennington, Laszlo Peter, Christian Rose, Joe Shaw,
|
|
||||||
Kevin Vandersloot, Morten Welinder, Peter Williams
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.13
|
|
||||||
==================================
|
|
||||||
|
|
||||||
* Tree view fixes. [Kristian Rietveld, Jonathan Blandford, Anders Carlsson]
|
|
||||||
* Tree view support for low-vision themes [Bill Haneman]
|
|
||||||
* Text view bug fixes. [Havoc Pennington]
|
|
||||||
* Win32 fixes and improvements. [Tor Lillqvist, Hans Breuer,
|
|
||||||
Archaeopteryx Software]
|
|
||||||
* Documentation improvements [Matthias Clasen, Havoc Pennington]
|
|
||||||
* Accelerate alpha compositing using RENDER extension if present,
|
|
||||||
and optimize the non-RENDER case a lot. [Owen Taylor]
|
|
||||||
* Add support for "optional keybindings" (action signal returns FALSE) [Owen]
|
|
||||||
* Fixed the infamous changing directory deletes filename bug
|
|
||||||
[Owen and a cast of thousands]
|
|
||||||
* Add mouse cursor hiding for text widgets [Anders Carlsson]
|
|
||||||
* Simple Hangul input module [Yusuke Tabata]
|
|
||||||
* Removed the scary startup warning.
|
|
||||||
* GdkPixbuf pixel handling fixes [Owen, Michael Hore, Jim Cape]
|
|
||||||
* Converted GtkFileSelection and GtkFontSelection to use GtKTreeView widgets
|
|
||||||
instead of the deprecated GtkCList [Owen]
|
|
||||||
* gtkhsv.h was installed by mistake, fixed that. [reported by Ross Burton]
|
|
||||||
* gdk_pixbuf_render_to_drawable() now also handles alpha pixbufs.
|
|
||||||
* Made Gtkimage draw GtkPixmap, GtkImage, GdkPixbuf insensitive, prelighted,
|
|
||||||
etc. [Havoc, Owen]
|
|
||||||
* Marked gtk_item_factory_path_from_widget() G_CONST_RETURN. [Matt Wilson]
|
|
||||||
* gtk_image_menu_item_new_from_stock() now falls back to
|
|
||||||
new_with_mnemonic, for consistency with gtk_button_new_from_stock()
|
|
||||||
[Havoc Pennington]
|
|
||||||
* GdkModifierType is now consistently used for modifier mask parameters
|
|
||||||
[Mark Patton]
|
|
||||||
* gtk_widget_set_accel_path() is now publically exported.
|
|
||||||
|
|
||||||
Other contributors: Darin Adler, Jeffrey Baker, Damon Chaplin, Brian Cameron,
|
|
||||||
Murray Cumming, James Henstridge, Jacob Berkman, Arnaud Charlet, Jeff Franks,
|
|
||||||
Jeff Garzik, Jody Goldberg, Diego Gonzalez, Melvin Hadasht, Raja Harinath,
|
|
||||||
Tim Janik, Mike Kestner, Mathieu Lacage, Alex Larsson, Ryan Lovett,
|
|
||||||
Mark McLoughlin, Sven Neumann, Padraig O'Briain, Xavier Ordoquy, Chris Phelps,
|
|
||||||
Detlef Reichl, Guillermo S. Romero, Federico Mena Quintero, Manish Singh,
|
|
||||||
HideToshi Tajima, Vitaly Tishkov, Jon Trowbridge, Sergey Vlasov.
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.12
|
|
||||||
==================================
|
|
||||||
|
|
||||||
* Fix problems with PNG saving [Michael Natterer]
|
|
||||||
* Cleanups of deprecated usages [Sebastian Wilhelmi]
|
|
||||||
* Win32 fixes [Tor Lillqvist]
|
|
||||||
* Documentation improvements [Matthias Clasen, Havoc Pennington,
|
|
||||||
Vitaly Tishkov]
|
|
||||||
* Frame buffer port fixes [Manish Singh]
|
|
||||||
* GtkTextView bug fixes [Havoc Pennington, Chris Phelps]
|
|
||||||
* Menu behavior improvements [Kristian Rietveld]
|
|
||||||
* Make focus line width configurable, focus color work on
|
|
||||||
dark themes. [Bill Haneman, Owen Taylor]
|
|
||||||
* Add state argument to gtk_paint_focus() [Bill]
|
|
||||||
* Added incremental revalidation to tree view, for better apparent speed
|
|
||||||
[Jonathan Blandford]
|
|
||||||
* Remove useless gtk_tree_view_column_cell_event() [Jonathan]
|
|
||||||
* Display XIM status in a separate window [HideToshi Tajima]
|
|
||||||
* Add GDK_DEBUG=nograbs to disable pointer, keyboard grabs [Jacob Berkman]
|
|
||||||
* Add menu of Unicode control characters to GtkEntry, GtkTextView
|
|
||||||
[Dov Grobgeld, Havoc]
|
|
||||||
* Pass key releases along to input methods [Owen]
|
|
||||||
* Many bug fixes
|
|
||||||
|
|
||||||
Other contributors: Darin Adler, Fabrice Bellet, Chris Blizzard,
|
|
||||||
Hans Breuer, Anders Carlsson, Damon Chaplin, Murray Cumming, Jeff Franks,
|
|
||||||
James Henstridge, Tim Janik, Alex Larsson, George Lebl, Kjartan, Maraas,
|
|
||||||
Sven Neumann, Seth Nickell, Padraig O'Briain, Soeren Sandmann, Manish Singh,
|
|
||||||
Matt Wilson
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.11
|
|
||||||
==================================
|
|
||||||
|
|
||||||
* Massive rework of accelerator API and implementation (Tim Janik)
|
|
||||||
* Major fixes to resizing and redrawing to eliminate hysteresis
|
|
||||||
and optimize. (Owen Taylor, Soeren Sandmann)
|
|
||||||
* Make many widgets NO_WINDOW to improve appearance and reduce
|
|
||||||
drawing overhead (Owen)
|
|
||||||
* Text view fixes (Havoc Pennington)
|
|
||||||
* Make child widgets in GtkTextView work (Havoc)
|
|
||||||
* GtkTreeModelSort fixage (Jonathan Blandford, Kristian Rietveld)
|
|
||||||
* Clean up GtkTreeView drag and drop support (Owen)
|
|
||||||
* Misc tree view fixes and improvements (Jonathan, Kristian, Anders, Matt Wilson)
|
|
||||||
* Add gtk_window_get/set_focus(), gtk_window_set_default() as public
|
|
||||||
functions (Owen, Damian Ivereigh)
|
|
||||||
* Fixes to GtkPlug/GtkSocket (Michael Meeks, Owen)
|
|
||||||
* Change button ordering in standard dialogs to correspond to
|
|
||||||
GNOME usability project proposal (Gregory Merchan)
|
|
||||||
* Add support for context sensitivity in input methods (Owen)
|
|
||||||
* Hook up gtk_im_context_set_use_preedit() (Hidetoshi Tajima)
|
|
||||||
* Fix gdk_window_scroll() and other aspects of big windows (Owen)
|
|
||||||
* Remove need for X connection for class initialization (Jacob Berkman)
|
|
||||||
* Propagate key events to parents of focused widget (Owen)
|
|
||||||
* Don't export normal GTK+ marshalers, export deprecated compat marshalers (Owen)
|
|
||||||
* Many Win32 Fixes and improvements (Hans Breuer, Tor Lillqvist)
|
|
||||||
* Bug and documentation fixing (Matthias Clasen, Anders Carlsson,
|
|
||||||
Jacob Berkman, others.)
|
|
||||||
|
|
||||||
Other Contributors:
|
|
||||||
Darin Adler, Marius Andreiana, Erwann Chenede, Murray Cumming, Janet Davis,
|
|
||||||
Daniel Egger, Daniel Elstner, Jeff Franks, Alex Larsson, George Lebl,
|
|
||||||
Sergey Kuzminov, Eric Lemings, Arkadiusz Miskiewicz, Padraig O'Briain, Sven Neumann,
|
|
||||||
Kristian Rietveld, Nicolas Setton, Manish Singh, Vitaly Tishkov, Sebastian Wilhelmi,
|
|
||||||
Michael Natterer
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.10
|
|
||||||
==================================
|
|
||||||
|
|
||||||
* GtkTextView fixes [Havoc Pennington]
|
|
||||||
* GtkTreeView fixes and improvements [Jonathan Blandford, Kristian,
|
|
||||||
Manish Singh, Joshua Pritikin, Oleg Maiboroda, James Henstridge]
|
|
||||||
* gtkdemo improvements [Kristian Rietveld]
|
|
||||||
* Drag and drop fixes to generic code and widgets
|
|
||||||
[Owen Taylor, Damian Ivereigh]
|
|
||||||
* Documentation improvement [Havoc Pennington, Matthias Clasen]
|
|
||||||
* Spelling fixes [Jacob Berkman]
|
|
||||||
* Move signals to the GtkEditable interface [Kristian]
|
|
||||||
* Further stock image improvements [Jakub Steiner]
|
|
||||||
* Support text chunks for the PGN loader, add gdk_pixbuf_get_option()
|
|
||||||
[Sven Neumann]
|
|
||||||
* Rename gdk_pixbuf_new_from_stream back to new_from_inline [Owen]
|
|
||||||
* Automatically call setlocale(), unless explicitly disabled [Owen]
|
|
||||||
* Property addition to various widgets [Michael Meeks, Owen]
|
|
||||||
* Support building with automake-1.4 [James]
|
|
||||||
* Make GtkRadioButton groups act as a single focus point [Owen]
|
|
||||||
* Move gdk_window_lookup etc. to be cross-platform [Matthias]
|
|
||||||
* Draw spinbuttons variably sized [Kristian]
|
|
||||||
* Separate GdkAtom out from X atoms for compatibility with future
|
|
||||||
multihead changes [Owen]
|
|
||||||
* Require gdk_threads_init() to be explicitly called instead
|
|
||||||
of piggybacking off of g_thread_init(). [Owen]
|
|
||||||
* Improvements to text-view/label/entry popup menus [Damian, Jacob, Owen]
|
|
||||||
* Bug fixes and cleanup [Matthias, others]
|
|
||||||
|
|
||||||
Other Contributors:
|
|
||||||
Mark McLoughin, Mikael Hermansson, Soeren Sandmann, Anders Carlsson,
|
|
||||||
Tim Janik, Murray Cumming, Hidetoshi Tajima, Padraig O'Briain,
|
|
||||||
Hans Breuer, Vitaly Tishkov, Dov Grobgeld
|
|
||||||
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.9
|
|
||||||
=================================
|
|
||||||
|
|
||||||
* Add editable text cells to GtkTreeView.
|
|
||||||
Keynav, drawing fixes in GtkTreeView [Jonathan Blandford]
|
|
||||||
* Text widget no longer always has a \n in it. [Havoc Pennington]
|
|
||||||
* Text widget bug fixes [Havoc, Dov Grobgeld, Hidetoshi Tajima]
|
|
||||||
* Allow -1 for width/height in gdk_pixbuf_render_*(). [Matthias Clasen]
|
|
||||||
* Minor fix for major resizing problems in recent releases [Owen Taylor]
|
|
||||||
* Restore ability to set _set properties to TRUE for
|
|
||||||
GtkCellRendererText, GtkTextTag [Owen]
|
|
||||||
* Cursor drawing improvements [Owen]
|
|
||||||
* Win32 fixes [Hans Breuer]
|
|
||||||
* Mark various functions as deprecated or private.
|
|
||||||
* Misc bug fixes, portability fixes, and cleanups.
|
|
||||||
|
|
||||||
Other Contributors:
|
|
||||||
Vitaly Tishkov, Christian Rose, Frank Belew, Jeff Franks, Sven Neumann,
|
|
||||||
Kristian Rietveld, Vitaly Tishkov, Joshua N. Pritikin, Matt Wilson,
|
|
||||||
James Henstridge, Detlef Reichl
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.8
|
|
||||||
=================================
|
|
||||||
|
|
||||||
* GtkTreeView and GtkTreeModel API cleanups/improvements [Jrb]
|
|
||||||
* GtkOptionMenu scrollwheel support [Alex]
|
|
||||||
* GtkModule search paths [Owen]
|
|
||||||
* Documenatation updates [Havoc,Jrb]
|
|
||||||
* Major Gdk cleanup [Owen]
|
|
||||||
* Miscellaneous other fixes/cleanups
|
|
||||||
|
|
||||||
Other Contributors:
|
|
||||||
Joshua N Pritikin, Padraig O'Briain, Jakub Steiner, Matthias Clasen,
|
|
||||||
Matt Wilson, James Henstridge
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.7
|
|
||||||
=================================
|
|
||||||
|
|
||||||
* Many Pixbuf (loader) improvements [Matthias Clasen, Soeren Sandmann]
|
|
||||||
* Added publically installed utility gdk-pixbuf-csource to generate
|
|
||||||
inlined pixbufs in C source code [Tim Janik]
|
|
||||||
* Optional movement of button children on press [Soeren, Owen Taylor]
|
|
||||||
* Interactive searching in GtkTreeView [Kristian Rietveld]
|
|
||||||
* Sorting/ordering improvements for GtkTreeView [Kris, Jonathan Blandford]
|
|
||||||
* Animation of expander motion for GtkTreeView [Anders Carlsson]
|
|
||||||
* Lots of misc GtkTreeView fixes and improvements [Jonathan]
|
|
||||||
* New/improved stock icons [Jakub Steiner]
|
|
||||||
* Code and API rework for window resizing [Havoc Pennington]
|
|
||||||
* Converted accel groups to GObject [James Henstridge]
|
|
||||||
* More property support improvements
|
|
||||||
* Add facility for "secondary" buttons in
|
|
||||||
GtkButtonBox/GtkDialog [Gregory Merchan]
|
|
||||||
* Disentangled child visability from MAPPED state [Owen]
|
|
||||||
* Plug/Socket improvements and port to the XEMBED protocol [Owen]
|
|
||||||
* Added priorities for styles in RC files,
|
|
||||||
support multiple parse contents [Owen]
|
|
||||||
* Made GdkVisual and GdkDevice GObjects [Alexander Larsson]
|
|
||||||
* Key binding improvements [Havoc]
|
|
||||||
* Added GtkWidget::event-after signal since normal event handling
|
|
||||||
is now aborted as soon as a handler returned TRUE [Tim]
|
|
||||||
* Dnd fixes and improved icon support [Owen]
|
|
||||||
* Removed GtkPacker widget
|
|
||||||
* Fixing missing paired getters/setters [Kris]
|
|
||||||
* Nuked remaining GtkArg cruft, implemented container/child properties [Tim]
|
|
||||||
* Added window grab groups [Owen]
|
|
||||||
* Many frame buffer improvements [Alex]
|
|
||||||
* Win32 fixes and improvements [Hans Breuer]
|
|
||||||
* Warning fixes [Darin Adler]
|
|
||||||
* Miscellaneous bug and API fixes [Matthias et. al]
|
|
||||||
|
|
||||||
Other Contributors:
|
|
||||||
Joshua N Pritikin, Hidetoshi Tajima, Manish Singh, ERDI Gergo, Jens Finke,
|
|
||||||
Chema Celorio, Lee Mallabone, Vitaly Tishkov, Sebastian Wilhelmi,
|
|
||||||
Nicola Girardi, Sven Neumann, Padraig O'Briain, Michael Natterer,
|
|
||||||
Suresh Chandrasekharan, Jonas Borgström, Jay Cox, Michael Meeks,
|
|
||||||
Mathias Hasselmann, Peter Williams, Thomas Broyer, Kjartan Maraas,
|
|
||||||
Joel Becker, Jeff Franks, Brian Cameron, Skip Montanaro
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.6
|
|
||||||
=================================
|
|
||||||
|
|
||||||
* Properly renders strikethrough text
|
|
||||||
* win32 fixes
|
|
||||||
* Added "scale" property to GtkTextTag and GtkCellRendererText to do
|
|
||||||
relative font scaling
|
|
||||||
* Added "format_value" signal to GtkScale to reformat value text
|
|
||||||
* framebuffer fixes
|
|
||||||
* Property support added to lots of widgets
|
|
||||||
* Many GtkTreeView new features and API/implementation fixes
|
|
||||||
* Lots of new_with_mnemonic() convenience functions
|
|
||||||
* Change GtkImageMenuItem API to be more consistent/useful
|
|
||||||
* Added lots of new stock items/icons
|
|
||||||
* Rewrote GtkRange/GtkScale/GtkScrollbar, includes support for
|
|
||||||
enabling/disabling extra scrollbar stepper arrows in gtkrc so NeXT
|
|
||||||
themes won't need broken hacks
|
|
||||||
* Convenience API for GtkRange similar to the one added to GtkSpinButton
|
|
||||||
a while back
|
|
||||||
* Make menubar/toolbar work properly with xthickness/ythickness of 1 or 0,
|
|
||||||
and move some attributes from program settings to user settings.
|
|
||||||
Allows nice 1-pixel-bevel themes.
|
|
||||||
* Moved ::focus virtual function from GtkContainer to GtkWidget
|
|
||||||
* Plenty of bug fixes
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.5
|
|
||||||
=================================
|
|
||||||
|
|
||||||
* New default theme based on Raleigh theme for 1.2.x.
|
|
||||||
* Dependency on the ATK library added as a step to
|
|
||||||
providing accessibility-enabling interfaces
|
|
||||||
* XEMBED-based GtkPlug/GtkSocket now basically works.
|
|
||||||
* Drag and drop of column headers in GtkTreeView
|
|
||||||
* GtkColorSelector work: hooks for saving and propagating palette, UI tweaks,
|
|
||||||
and API sanitation
|
|
||||||
* Key binding fixes
|
|
||||||
* Configurable padding/spacing in a lot of places
|
|
||||||
* Invisible text in GtkTextView fixed
|
|
||||||
* SHM segments now created with a mode of 0600
|
|
||||||
* Bug fixes
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.4
|
|
||||||
=================================
|
|
||||||
|
|
||||||
* Win32 fixes
|
|
||||||
* GtkTreeView improvements and fixes
|
|
||||||
* Fix glib-2.0.m4
|
|
||||||
* Miscellaneous bug fixes
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.3
|
|
||||||
=================================
|
|
||||||
|
|
||||||
[ 5600 lines of ChangeLog ]
|
|
||||||
|
|
||||||
* API cleanups
|
|
||||||
* Win32 work (Tor, Hans Breuer)
|
|
||||||
* Focus improvements (Owen)
|
|
||||||
* Frame buffer improvements (Alex)
|
|
||||||
* Work on GtkTextView (Havoc)
|
|
||||||
* Much work on GtkTreeView (Jonathan)
|
|
||||||
* Selectable labels (Havoc)
|
|
||||||
* Converted many arguments to properties (Lee Mallabone, John Margaglione)
|
|
||||||
* Add exact regions to GdkExposeEvent, propagate it. (Alex)
|
|
||||||
* Added ability to have resize grips in status bars (etc.) using
|
|
||||||
_NET_WM_MOVERESIZE protocol. (Havoc)
|
|
||||||
* Added mnemnonic mechanism to make setting underline accelerators
|
|
||||||
much easier. (Alex)
|
|
||||||
* Add per-style property mechanism to allow themes to change
|
|
||||||
geometry parameters. (Tim)
|
|
||||||
* Added global settings mechanisms for settings such as double-click
|
|
||||||
time. (Tim, Owen)
|
|
||||||
* Various support functions for new and old WM properties (Havoc, Alex)
|
|
||||||
* Add TRUE-stops-returns for boolean-returning signals (Ron Steinke)
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.2
|
|
||||||
=================================
|
|
||||||
|
|
||||||
GTK Core:
|
|
||||||
|
|
||||||
* New stock-icon and stock-item system. Use themeable pixbufs in
|
|
||||||
dialogs, buttons, etc. [Havoc]
|
|
||||||
* Theme engines reworked to use derivation and new object system. [Owen]
|
|
||||||
* Added GtkClipboard object for simple selection handling. [Owen]
|
|
||||||
* Make GtkEditable an interface, move implementation to GtkOldEditable for
|
|
||||||
compat. [Owen]
|
|
||||||
* Better handling of default directionality. [Robert]
|
|
||||||
* Use GSignal as backend for GtkSignal and other GObject stuff. [Tim]
|
|
||||||
* Move theme engines to GTypePlugin. [Owen]
|
|
||||||
|
|
||||||
GDK:
|
|
||||||
|
|
||||||
* Beginning of implementation of client parts of new window manager spec. [Owen]
|
|
||||||
* Make gdk_drawable_get_image() work with backing store. [Havoc]
|
|
||||||
|
|
||||||
Widgets:
|
|
||||||
|
|
||||||
* New text widget [Havoc]
|
|
||||||
- Adjustable tab handling.
|
|
||||||
- Ability to have scrolling side areas in new text widget for tabs/line numbers.
|
|
||||||
- Many cleanups and small improvements.
|
|
||||||
* Improvements to submenu navigation [Nils Barth/David Santiago] and
|
|
||||||
scrolling menus. [Alex]
|
|
||||||
* Simplification of progress bar API. [Havoc]
|
|
||||||
* Make GtkImage a generic image-display widget. [Havoc]
|
|
||||||
* New GtkTreeView tree widget. Model/view architecture, flexible rendering,
|
|
||||||
large datasets, etc. [Jonathan]
|
|
||||||
* New GtkMessageBox widget for message display. [Havoc]
|
|
||||||
* Allow labels to have contents set from XML-like markup language. [Havoc]
|
|
||||||
* Make dialogs derive from GtkDialog and use stock buttons. [Havoc]
|
|
||||||
|
|
||||||
Internationalization:
|
|
||||||
|
|
||||||
* Proper character set conversion for clipboard/selection. [Owen]
|
|
||||||
* New input method system via loadable modules; support on-the-spot
|
|
||||||
preedit in GtkEntry and new text widget; allow switching input methods
|
|
||||||
on the fly; include modules for XIM and demo Cyrillic-transliteration
|
|
||||||
module. [Owen]
|
|
||||||
* VIQR, Thai, and Inuktitut input methods. [Robert]
|
|
||||||
* Convert po files to UTF-8. [Robert]
|
|
||||||
|
|
||||||
gdk-pixbuf:
|
|
||||||
|
|
||||||
* Full-alpha compositing for gdk-pixbuf on drawable. [Havoc]
|
|
||||||
* Add simple saving to gdk-pixbuf. [David Welton/Havoc]
|
|
||||||
* Add improved error handling with GError to gdk-pixbuf. [Havoc]
|
|
||||||
|
|
||||||
Ports:
|
|
||||||
|
|
||||||
* Much work on Win32 Port. [Tor/Hans]
|
|
||||||
* Much work on Linux-FB Port. [Elliot/Alex]
|
|
||||||
|
|
||||||
Misc:
|
|
||||||
|
|
||||||
* Start of new gtk-demo demo program. [Owen/Jonathan]
|
|
||||||
* Bug fixes and more bug fixes.
|
|
||||||
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.3.1:
|
|
||||||
|
|
||||||
* GTK+ now uses the Pango library for text manipulation. All
|
|
||||||
strings in GTK+ now are in Unicode, languages written
|
|
||||||
from right-to-left, and complex-text languages are now supported.
|
|
||||||
* The gdk-pixbuf library for image loading and manipulation is
|
|
||||||
has been integrated with GTK+.
|
|
||||||
* The GTK+ object system has mostly been moved to GLib, separating
|
|
||||||
it from the GUI code. Many significant enhancements have been
|
|
||||||
made as part of this.
|
|
||||||
* A new text widget is now included. This started as a port
|
|
||||||
of the Tk text widget, and includes such features of the Tk
|
|
||||||
text widget as tags, marks, and unicode text support. It
|
|
||||||
has been enhanced to support model-view operation and the
|
|
||||||
full power of Pango.
|
|
||||||
* The GDK library has been extensively revised to support multiple
|
|
||||||
windowing systems. The only fully functional backend in 1.3.1
|
|
||||||
is the X11 backend, however, ports to Win32, Linux-framebuffer,
|
|
||||||
Nano-X, BeOS, and MacOS exist in various states of completion,
|
|
||||||
and at least some of these will be finished and integrated in
|
|
||||||
before the final GTK+-2.0 release.
|
|
||||||
* 32-bit coordinates are now supported throughout GDK and GTK+
|
|
||||||
(they are emulated where not supported by the windowing system.)
|
|
||||||
* Many minor bug fixes and enhancements. Incompatible changes
|
|
||||||
are documented in docs/Changes-2.0.txt
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.2.8:
|
|
||||||
|
|
||||||
* GNU Make 3.79 bug workaround
|
|
||||||
* FAQ and tutorial updates and improvements
|
|
||||||
* Miscellaneous bug fixes: CList, Calendar, rc-files, FontSelection
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.2.7:
|
|
||||||
|
|
||||||
* More header cleanups.
|
|
||||||
* Fixed activation bug for insensitive widgets.
|
|
||||||
* Locale fixes to RC file parsing code.
|
|
||||||
* Miscellaneous bugfixes for Item Factory, CList, CTree, X Selections,
|
|
||||||
HScale, VScale, Pixmap, Viewport, OptionMenu, Entry and Notebook.
|
|
||||||
* Upgrade to libtool 1.3.4.
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.2.6:
|
|
||||||
|
|
||||||
* container queue_resize fixes
|
|
||||||
* gtk[vh]scale: minor fixups
|
|
||||||
* rename idle to idle_id in testgtk to avoid conflicts with
|
|
||||||
broken libs
|
|
||||||
* More consistent naming of gtkrc files
|
|
||||||
* Added language support: ro, uk
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.2.5:
|
|
||||||
|
|
||||||
* more GtkCTree and GtkWindow bug fixes.
|
|
||||||
* more redraw/resize queue fixes, better expose event
|
|
||||||
discarding code.
|
|
||||||
* more miscellaneous bugs fixed
|
|
||||||
* new configure.in option --disable-rebuilds to completely disable
|
|
||||||
rebuilds of autogenerated sources.
|
|
||||||
* check for 5.002 now, to avoid failing autogeneration build rules due
|
|
||||||
to old perl versions.
|
|
||||||
* fonts (and fontsets) are cached now.
|
|
||||||
* more autogeneration make rules and dependency fixups, we should be
|
|
||||||
save with autogeneration up to make -j12 now ;)
|
|
||||||
* new window position GTK_WIN_POS_CENTER_ALWAYS, which will recenter the
|
|
||||||
GtkWindow on every size change.
|
|
||||||
* major rework of window manager hints handling code, fixed a bunch of
|
|
||||||
races with the new resizing code.
|
|
||||||
* the new wm hints and resizing code is absolutely perfect and bug free now,
|
|
||||||
it only lacks testing ;)
|
|
||||||
* fixed up various rc style memory problems.
|
|
||||||
* gtk_widget_modify_style() now properly changes the style of realized widgets
|
|
||||||
and references the style passed into it. if people worked around this bug,
|
|
||||||
this will introduce a slight memory leak in their code.
|
|
||||||
The code should typically look like:
|
|
||||||
GtkRcStyle *rc_style = gtk_rc_style_new ();
|
|
||||||
[...]
|
|
||||||
gtk_widget_modify_style (widget, rc_style);
|
|
||||||
gtk_rc_style_unref (rc_style);
|
|
||||||
* fix problems with positioning menus offscreen.
|
|
||||||
* GtkText fixes for some crashes and drawing errors.
|
|
||||||
* Better handling for unexpected window destroys in GDK and GTK+.
|
|
||||||
This should make it possible to use a GtkPlug and catch the
|
|
||||||
case where its parent socket is randomly killed.
|
|
||||||
* FAQ updates.
|
|
||||||
* FileSelection i18n patches, RadioButton fixups.
|
|
||||||
* many translation improvements.
|
|
||||||
* miscellaneous other bugs fixed.
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.2.4:
|
|
||||||
|
|
||||||
* DnD improvements (drags can be canceled with Esc now).
|
|
||||||
* suppressed configure event reordering in Gdk.
|
|
||||||
* rewrite of Gtk's configure event handling.
|
|
||||||
* major improvements for the object argument system (Elena Devdariani).
|
|
||||||
* major bugfixes for threading, GtkNotebook, GtkItemFactory, GtkCList and
|
|
||||||
GtkCTree.
|
|
||||||
* tutorial/FAQ updates, new file generation.txt on autogenerated sources.
|
|
||||||
* configure's --with-glib= is "officially" unsupported.
|
|
||||||
* upgrade to libtool 1.3.3.
|
|
||||||
* various buglets fixed.
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.2.3:
|
|
||||||
|
|
||||||
* Upgrade to libtool 1.3
|
|
||||||
* Check for dgettext (for systems with old versions of GNU Gettext)
|
|
||||||
* Many bug fixes (see ChangeLog for details)
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.2.2:
|
|
||||||
|
|
||||||
* Improved Dnd behaviour with Motif applications.
|
|
||||||
* Bug fixes for the Gtk selection code.
|
|
||||||
* Minor bug fixes to the Gdk Atom cache and Dnd code (with --display option).
|
|
||||||
* Bug fixes and leak plugs for the Gdk IM code.
|
|
||||||
* Added gtk_object_get() facility to retrieve object arguments easily.
|
|
||||||
The var args list expects ("arg-name", &value) pairs.
|
|
||||||
* Fixed mapping for GdkInputCondition<->GIOCondition, this should fix
|
|
||||||
problems where closed pipes were no longer signaling GDK_INPUT_READ on
|
|
||||||
systems with a native poll().
|
|
||||||
* Some cleanups to GtkLabel's memory allocation code (shouldn't leak memory
|
|
||||||
anymore).
|
|
||||||
* We don't attempt to lookup xpm color "None" anymore, this should prevent
|
|
||||||
eXodus (commercial X windows server) from popping up a color dialog every
|
|
||||||
time a transparent pixmap is created.
|
|
||||||
* Fixed bug where Gtk timeout/idle handlers would execute without the global
|
|
||||||
Gdk lock being held.
|
|
||||||
* Other minor bug fixes.
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.2.1:
|
|
||||||
|
|
||||||
* Many Bug fixes have been applied to the menu and accelerator code.
|
|
||||||
* GtkItemFactory can "adopt" foreign menu items now and manage their
|
|
||||||
accelerator installation. This is often required to get GtkItemFactory
|
|
||||||
like accelerator propagation between different windows with the same
|
|
||||||
menu hierarchy and for centralized parsing and saving of accelerators.
|
|
||||||
* GtkCList/GtkCTree buttons should always display correctly now.
|
|
||||||
* Miscellaneous other bug fixes.
|
|
||||||
|
|
||||||
What's New in GTK+ 1.2.0 (since 1.0.x):
|
|
||||||
|
|
||||||
* New widgets: GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree,
|
|
||||||
GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket
|
|
||||||
* Many new features and robustness for existing widgets
|
|
||||||
* Theme support
|
|
||||||
* New DND implementation
|
|
||||||
* Internationalization of standard dialogs
|
|
||||||
* New key binding system
|
|
||||||
* Tearoff menus and menu accelerators
|
|
||||||
* Wide character support for entry and text
|
|
||||||
* Resizing code has been overhauled
|
|
||||||
* Queued redraws of partial areas
|
|
||||||
* Far better support for object arguments
|
|
||||||
* Speed optimizations
|
|
||||||
* Runtime loading of dynamic modules
|
|
||||||
* Support for GLib log domains
|
|
||||||
* Tutorial improvements
|
|
||||||
* A bug fix or two
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.1.16:
|
|
||||||
|
|
||||||
* Major fixes and improvements for handlebox
|
|
||||||
* A change to the way widget->requisition works. Now,
|
|
||||||
widget->requisition is always what the widget requested,
|
|
||||||
unmodified by the usize. See Changes-1.2.txt for details.
|
|
||||||
This correct various bugs with gtk_widget_set_usize().
|
|
||||||
* Fixes for XIM on X11R5 systems
|
|
||||||
* Don't allow cut-and-paste of text in password-style entries
|
|
||||||
* --enable-debug is now on by default for the development release.
|
|
||||||
(When compiling for "production", use --enable-debug=minimum)
|
|
||||||
* Handle systems where Helvetica is not present more gracefully
|
|
||||||
* Fixes for memory leaks
|
|
||||||
* CList and CTree fixes
|
|
||||||
* Bug fixes for drawing problems.
|
|
||||||
* Miscellaneous bug fixes to GtkLabel, GtkCList, GtkCTree,
|
|
||||||
GtkColorsel, Focusing, DND
|
|
||||||
* Tutorial improvements
|
|
||||||
|
|
||||||
Overview of Changes in GTK+ 1.1.15:
|
|
||||||
|
|
||||||
* Tutorial Updates
|
|
||||||
* Added --libs gthread to gtk-config
|
|
||||||
* Bug fixes
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.14:
|
|
||||||
|
|
||||||
* Additions to docs/Changes-1.2.txt
|
|
||||||
* Just warn when loading theme engine fails
|
|
||||||
* CLAMP GtkScale digits to a meaningful range
|
|
||||||
* GTK_LOCALDIR is now defined in a better fashion
|
|
||||||
* New functions (feature freeze, we know...):
|
|
||||||
gtk_menu_set_title()
|
|
||||||
gtk_toggle_button_get_active()
|
|
||||||
* Some locale fixups in gtkrc code
|
|
||||||
* Fixes to make gtk_radio_button_set_group() keep only
|
|
||||||
one radio button in the group active
|
|
||||||
* Foreign windows are now always treated as viewable; this fixes
|
|
||||||
a problem where updating didn't occur properly in GtkPlug
|
|
||||||
* DND fixes for 64 bit architectures, and for specifying operations
|
|
||||||
with modifier keys.
|
|
||||||
* Major revisions to GtkLayout: avoid having to create window
|
|
||||||
for NO_WINDOW children, adjust allocations of children as
|
|
||||||
scrolled so queued draws work, and a resize is queued instead
|
|
||||||
of allocating directly in a put() or move()
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.13:
|
|
||||||
|
|
||||||
* Dnd and selection bug fixes and memory purification.
|
|
||||||
* Widget sensitivity fixups.
|
|
||||||
* Tooltips windows are now named "gtk-tooltips" so rc file rules
|
|
||||||
can match tooltips windows. Fixed interaction of tooltips and NO_WINDOW
|
|
||||||
widgets.
|
|
||||||
* Spin buttons now update their values upon value retrieval.
|
|
||||||
* Overhaul of the resizing vs. redrawing logic to reduce redrawing needs
|
|
||||||
a lot. Gtk makes full use of the draw_area coalescing code now, which
|
|
||||||
got minorly improved as well.
|
|
||||||
* Containers map their Gdk windows after their children now to reduce
|
|
||||||
expose event generation.
|
|
||||||
* Gdk event queue fixups, this solves the double-click problems people were
|
|
||||||
recently having.
|
|
||||||
* Account for the fact that GSource's are only properly reentrant from
|
|
||||||
within dispatch(), thus we don't do Gdk event processing from within
|
|
||||||
check() or prepare() anymore.
|
|
||||||
* Rc files feature a bg_pixmap value of "<none>" now.
|
|
||||||
* Improved session management support in Gdk.
|
|
||||||
* Automatic disabling of NLS if no gettext is found should work now.
|
|
||||||
* Removed deprecated functions, docs/Changes-1.2.txt gives an overview.
|
|
||||||
* Gtk+ development now requires GNU autoconf 2.13, GNU automake 1.4
|
|
||||||
and GNU libtool 1.2d.
|
|
||||||
* More bug fixes all over the place.
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.12:
|
|
||||||
|
|
||||||
* Korean translation added
|
|
||||||
* Fixed memory leaks
|
|
||||||
* A few other bug fixes
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.11:
|
|
||||||
|
|
||||||
* Dutch, Japanese, Swedish, Polish, and Norwegian translations
|
|
||||||
* Removed deprecated _interp variants: gtk_container_foreach_interp,
|
|
||||||
gtk_idle_add_interp, gtk_timeout_add_interp, gtk_signal_connect_interp
|
|
||||||
* Lots of cast corrections
|
|
||||||
* Many fixes
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.9:
|
|
||||||
|
|
||||||
* Check for broken glibc 2.0 mb functions and avoid them
|
|
||||||
* Label and Entry display fixes
|
|
||||||
* Move main thread back to GDK, for locking when translating events
|
|
||||||
* Bug fixes
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.8:
|
|
||||||
|
|
||||||
* Added support for gettext and the localization of the standard
|
|
||||||
dialogs.
|
|
||||||
* Added line-wrapping for the label, and JUSTIFY_FILL
|
|
||||||
* Support reordering via drag and drop in CList and CTree.
|
|
||||||
* Replaced GtkDrawWindow widget with a GTK_USER_DRAW flag
|
|
||||||
* Extended gtkpaned API to support minimum sizes and proportional
|
|
||||||
resizing.
|
|
||||||
* Changed the handling of shared memory segments so as to
|
|
||||||
remove the need for GTK+ to set up signal handlers.
|
|
||||||
* Re-implemented event loop in terms of the event loop
|
|
||||||
that has been added to GLib 1.1.8
|
|
||||||
* Added 'grab_focus' signal to allow keyboard accelerators
|
|
||||||
for entries.
|
|
||||||
* Load locale specific RC files if present.
|
|
||||||
* Bug fixes.
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.7:
|
|
||||||
|
|
||||||
* Fixed memory mis-allocation in default files code
|
|
||||||
* Various event handling fixes
|
|
||||||
* Wide character support for entry and text
|
|
||||||
* Destroy widgets _after_ propagating unrealize signals through
|
|
||||||
widget hierarchy
|
|
||||||
* Only build XIM-support if available
|
|
||||||
* Tutorial and examples updates
|
|
||||||
* Added gtk_drag_source_unset()
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.6:
|
|
||||||
|
|
||||||
* The signal system now features emission hooks with special semantics,
|
|
||||||
refer to the ChangeLog for this.
|
|
||||||
* Minor? speedups and memory reductions to the emission handling of the
|
|
||||||
signal system.
|
|
||||||
* _interp() function variants are deprecated now. the corresponding *_full()
|
|
||||||
variants are provided for a long time now.
|
|
||||||
* Dnd abort timeout increased to 10 minutes.
|
|
||||||
* GtkScrolledWindow inherits from GtkBin now.
|
|
||||||
* GTK_POLICY_NEVER is implemented for scrolled windows now.
|
|
||||||
* Lots of API clean ups.
|
|
||||||
* Incremental freezing abilities.
|
|
||||||
* Integrated widgets from the GNOME tree: GtkLayout, GtkPlug and GtkSocket.
|
|
||||||
* New window functions for transient relationship, default size, and
|
|
||||||
geometry hints
|
|
||||||
* Default rc files are now read in (<sysconfdir/etc/gtkrc and ~/.gtkrc)
|
|
||||||
GTK_RC_FILES environment variable and functions are provided to configure
|
|
||||||
this behavior
|
|
||||||
* Read doc/Changes-1.2.txt to properly adapt your code.
|
|
||||||
* Bug Fixes.
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.5:
|
|
||||||
|
|
||||||
* Theme integration
|
|
||||||
* Widget style modification is now handled through GtkRcStyles
|
|
||||||
* GtkPixmaps now grey out pixmaps when insensitive
|
|
||||||
* Notebook enhancements
|
|
||||||
* Shadow configurability for menubars and handleboxes
|
|
||||||
* DND enhancements
|
|
||||||
* gtkfilesel now supports automounters better
|
|
||||||
* Implementation of expose compression
|
|
||||||
* Queued redraws of partial areas
|
|
||||||
* Scrolledwindow (+Viewport) source incompatibilities, children that are added
|
|
||||||
to a scrolled window don't get an automatic viewport anymore. a convenience
|
|
||||||
function gtk_scrolled_window_add_with_viewport() is supplied for this task
|
|
||||||
* Deprecated functions will now issue a message, informing the programmer about
|
|
||||||
the use of this function. These functions will get removed in future versions
|
|
||||||
* Non-functional functions got removed entirely
|
|
||||||
* gtk_widget_new() and gtk_object_new() will now auto-construct new objects.
|
|
||||||
A new function gtk_object_default_construct() is provided now which should
|
|
||||||
be called after every gtk_type_new() to perform the auto-construction
|
|
||||||
* Improved argument support of several widgets
|
|
||||||
* Bug Fixes
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.3:
|
|
||||||
|
|
||||||
* GtkCList/GtkCTree now have the ability to:
|
|
||||||
- hide/show individual columns
|
|
||||||
- disable/enable column resizing
|
|
||||||
- set min and max for column widths
|
|
||||||
- set expander style of the ctree
|
|
||||||
- set/get row and cell styles
|
|
||||||
- set spacing between tree expander and cell contents in ctree
|
|
||||||
- toggle auto_resize for columns
|
|
||||||
* Must enhanced DND support, removed old DND code
|
|
||||||
* Idle functions are now implemented via GHook, giving a slight speed
|
|
||||||
improvement
|
|
||||||
* An environment variable GTK_MODULES which takes a colon separated
|
|
||||||
list of module names GTK+ will now automatically load at gtk_init() startup
|
|
||||||
* GtkFontSel now has support for an extra 'base' filter
|
|
||||||
* New function gdk_window_set_root_origin to get the real geometry taking
|
|
||||||
into account window manager offsets
|
|
||||||
* New function gtk_text_set_line_wrap to toggle line wrapping
|
|
||||||
* New function gtk_widget_add_events which safely adds additional
|
|
||||||
events to a widget's event mask
|
|
||||||
* New function gdk_event_get_time to get the timestamp from a generic
|
|
||||||
event
|
|
||||||
* New widget GtkCalendar
|
|
||||||
* New widget GtkInvisible - InputOnly offscreen windows used for reliable
|
|
||||||
pointer grabs and selection handling in DND code
|
|
||||||
* New functions gtk_object_remove_no_notify[_by_id] to remove a certain
|
|
||||||
data portion without invocation of its destroy notifier
|
|
||||||
* gtk_spin_button_construct is now deprecated, use gtk_spin_button_configure
|
|
||||||
instead
|
|
||||||
* gtk_clist_set_border is now deprecated, use gtk_clist_set_shadow_type
|
|
||||||
instead
|
|
||||||
* Removed functions gtk_object_set_data_destroy[_by_id]
|
|
||||||
* Documentation additions/updates
|
|
||||||
* HTML and plain text files are now included in the distribution
|
|
||||||
* Bug fixes, typeness corrections, and general fixups
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.2:
|
|
||||||
|
|
||||||
* Gtk+ is now featuring runtime loading of dynamic modules via the
|
|
||||||
--gtk-modules= command line switch. such modules have to export a
|
|
||||||
G_MODULE_EXPORT void gtk_module_init (gint *argc, gchar ***argv);
|
|
||||||
function which will be invoked to initialize the module. since such
|
|
||||||
modules may create new widget types, they are always resident.
|
|
||||||
* The tutorial has been updated again.
|
|
||||||
* Changes to menus including tearoff menus and accelerators.
|
|
||||||
* Better support for modal dialogs.
|
|
||||||
* Removed CAN_FOCUS by default from scrollbars and button children of toolbar.
|
|
||||||
* More improvements and fixes for GtkCList and GtkCTree (i.e. row sorting).
|
|
||||||
* GtkCTree rows can be unselectable now.
|
|
||||||
* The GtkCTree API has undergone major renames (see ChangeLog entry from Lars
|
|
||||||
Hamann on Tue Aug 18 00:29:13 1998).
|
|
||||||
* A bunch of varargs functions changed to get va_lists working on systems that
|
|
||||||
implement va_lists as arrays.
|
|
||||||
* Improvements to the gdkrgb code.
|
|
||||||
* Improvements to Gdk color handling so we greatly reduce server traffic and
|
|
||||||
don't leak colors anymore.
|
|
||||||
* Improved internal widget tree iterators (the GtkContainer::foreach signal
|
|
||||||
vanished because of this).
|
|
||||||
* Option menus can have the keyboard focus now.
|
|
||||||
* More fixups to the text widget.
|
|
||||||
* GtkFileSelection should behave much more nicely in combination with AFS now.
|
|
||||||
* Support for label underlining.
|
|
||||||
* Support for GLib 1.1.3 log domains.
|
|
||||||
* Documentation improvements.
|
|
||||||
* Configuration fixes on various platforms.
|
|
||||||
* Miscellaneous fixes to XInput support.
|
|
||||||
* Build with shared library dependencies on Linux
|
|
||||||
* Fix for a major bug in the type systems memory allocation code that could
|
|
||||||
cause random crashes.
|
|
||||||
* Libtool update to version 1.2b.
|
|
||||||
* Lots of bugfixes and cleanups again ;)
|
|
||||||
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.1:
|
|
||||||
|
|
||||||
* Tutorial updates and additions.
|
|
||||||
* Key binding support for GtkListItems and GtkList.
|
|
||||||
* Extended selection mode and autoscrolling for GtkLists.
|
|
||||||
* A GtkCtree now operates on GtkCTreeNode* structures rather than GList*.
|
|
||||||
* GtkCTreeNodes can now be created from GNode trees.
|
|
||||||
* Bug fixes for GtkNotebook, GtkCList, GtkCombo and GdkWindow reparentation.
|
|
||||||
|
|
||||||
|
|
||||||
What is new in GTK+ 1.1.0:
|
|
||||||
|
|
||||||
* New widget GtkFontSelector.
|
|
||||||
* New featureful progress bar.
|
|
||||||
* New container widget GtkPacker.
|
|
||||||
* New object GtkItemFactory, GtkMenuFactory is deprecated.
|
|
||||||
* New key binding system, configurable via rcfiles, similar to styles.
|
|
||||||
* New widget GtkCTree with drag selections and keyboard movement and
|
|
||||||
and horizontal scrolling. Features also implemented for GtkCList.
|
|
||||||
* Significant speedups to widget creation and destruction through caching
|
|
||||||
colormap and visual queries to the XServer.
|
|
||||||
* Speedups for type creation and especially gtk_type_is_a() checks.
|
|
||||||
* Speedups in signal lookup, creation and emissions and connection handling.
|
|
||||||
* Minor speedups with object data allocation and destruction.
|
|
||||||
* Additions to the signal handling API (e.g. *_emitv).
|
|
||||||
* Support for rc-file reparsing.
|
|
||||||
* Resizing logic is now implemented on container widget basis, rather than
|
|
||||||
for toplevel GtkWindows only.
|
|
||||||
* Buttons support relief styles now.
|
|
||||||
* Some widgets are now allocated through memchunks to behave more memory wise.
|
|
||||||
* Newly included file gtkfeatures.h which defines compatibility macros to
|
|
||||||
test for certain API features upon program compilation.
|
|
||||||
* Child arguments support for container widgets.
|
|
||||||
* Far better support for object arguments, revamp of the underlying
|
|
||||||
mechanism for speed and reusability. Child/object arguments don't
|
|
||||||
need to be preceded by the "GtkType::" portion anymore.
|
|
||||||
* Removed GtkAcceleratorTable in favour of GtkAccelGroup, accelerator display
|
|
||||||
is now performed by a new widget GtkAccelLabel.
|
|
||||||
* Overhaul of the resizing code. Resizing behaviour can now be specified
|
|
||||||
on GtkContainer basis, so the underlying algorithm isn't only available
|
|
||||||
for GtkWindows.
|
|
||||||
* GtkTables are now fully resizable.
|
|
||||||
* The GtkType system now supports an additional base class initialization
|
|
||||||
function.
|
|
||||||
* GtkStyles and key bindings can now be looked up depending on the base
|
|
||||||
types of a widget, through a new keyword `class' in rc files.
|
|
||||||
* GtkButton derives from GtkBin (finally).
|
|
||||||
* More descriptive error messages on rc parsing.
|
|
||||||
* Runtime information is available to query enum/flag definition values.
|
|
||||||
* Upgrade to libtool-1.2
|
|
||||||
* Legions of bug fixes, memory leaks, segfaults, of-by-something errors...
|
|
||||||
including those that already went into the 1.0.x branch.
|
|
||||||
* A big bunch of features and cosmetic fixups that just got lost in
|
|
||||||
the masses of changesonfigure problem when cross-compiling
|
|
6951
NEWS.pre-3.0
72
README.commits
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
GTK+ is part of the GNOME git repository. At the current time, any
|
||||||
|
person with write access to the GNOME repository, can make changes to
|
||||||
|
GTK+. This is a good thing, in that it encourages many people to work
|
||||||
|
on GTK+, and progress can be made quickly. However, GTK+ is a fairly
|
||||||
|
large and complicated package that many other things depend on, so to
|
||||||
|
avoid unnecessary breakage, and to take advantage of the knowledge
|
||||||
|
about GTK+ that has been built up over the years, we'd like to ask
|
||||||
|
people committing to GTK+ to follow a few rules:
|
||||||
|
|
||||||
|
0) Ask first. If your changes are major, or could possibly break existing
|
||||||
|
code, you should always ask. If your change is minor and you've
|
||||||
|
been working on GTK+ for a while it probably isn't necessary
|
||||||
|
to ask. But when in doubt, ask. Even if your change is correct,
|
||||||
|
somebody may know a better way to do things.
|
||||||
|
|
||||||
|
If you are making changes to GTK+, you should be subscribed
|
||||||
|
to gtk-devel-list@gnome.org. (Subscription address:
|
||||||
|
gtk-devel-list-request@gnome.org.) This is a good place to ask
|
||||||
|
about intended changes.
|
||||||
|
|
||||||
|
#gtk+ on GIMPNet (irc.gimp.org, irc.us.gimp.org, irc.eu.gimp.org, ...)
|
||||||
|
is also a good place to find GTK+ developers to discuss changes with,
|
||||||
|
however, email to gtk-devel-list is the most certain and preferred
|
||||||
|
method.
|
||||||
|
|
||||||
|
1) Ask _first_.
|
||||||
|
|
||||||
|
2) With git, we no longer maintain a ChangeLog file, but you are expected
|
||||||
|
to produce a meaningful commit message. Changes without a sufficient
|
||||||
|
commit message will be reverted. See below for the expected format
|
||||||
|
of commit messages.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
|
||||||
|
* When developing larger features or complicated bug fixes, it is
|
||||||
|
advisable to work in a branch in your own cloned GTK+ repository.
|
||||||
|
You may even consider making your repository publically available
|
||||||
|
so that others can easily test and review your changes.
|
||||||
|
|
||||||
|
* The expected format for git commit messages is as follows:
|
||||||
|
|
||||||
|
=== begin example commit ===
|
||||||
|
Short explanation of the commit
|
||||||
|
|
||||||
|
Longer explanation explaining exactly what's changed, whether any
|
||||||
|
external or private interfaces changed, what bugs were fixed (with bug
|
||||||
|
tracker reference if applicable) and so forth. Be concise but not too brief.
|
||||||
|
=== end example commit ===
|
||||||
|
|
||||||
|
- Always add a brief description of the commit to the _first_ line of
|
||||||
|
the commit and terminate by two newlines (it will work without the
|
||||||
|
second newline, but that is not nice for the interfaces).
|
||||||
|
|
||||||
|
- First line (the brief description) must only be one sentence and
|
||||||
|
should start with a capital letter unless it starts with a lowercase
|
||||||
|
symbol or identifier. Don't use a trailing period either. Don't exceed
|
||||||
|
72 characters.
|
||||||
|
|
||||||
|
- The main description (the body) is normal prose and should use normal
|
||||||
|
punctuation and capital letters where appropriate. Normally, for patches
|
||||||
|
sent to a mailing list it's copied from there.
|
||||||
|
|
||||||
|
- When committing code on behalf of others use the --author option, e.g.
|
||||||
|
git commit -a --author "Joe Coder <joe@coder.org>" and --signoff.
|
||||||
|
|
||||||
|
|
||||||
|
Owen Taylor
|
||||||
|
13 Aug 1998
|
||||||
|
17 Apr 2001
|
||||||
|
|
||||||
|
Matthias Clasen
|
||||||
|
31 Mar 2009
|
460
README.in
Normal file
@@ -0,0 +1,460 @@
|
|||||||
|
General Information
|
||||||
|
===================
|
||||||
|
|
||||||
|
This is GTK+ version @GTK_VERSION@. GTK+ is a multi-platform toolkit for
|
||||||
|
creating graphical user interfaces. Offering a complete set of widgets,
|
||||||
|
GTK+ is suitable for projects ranging from small one-off projects to
|
||||||
|
complete application suites.
|
||||||
|
|
||||||
|
GTK+ is free software and part of the GNU Project. However, the
|
||||||
|
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
|
||||||
|
developers, including those developing proprietary software, without any
|
||||||
|
license fees or royalties.
|
||||||
|
|
||||||
|
The official ftp site is:
|
||||||
|
ftp://ftp.gtk.org/pub/gtk
|
||||||
|
|
||||||
|
The official web site is:
|
||||||
|
http://www.gtk.org/
|
||||||
|
|
||||||
|
Information about mailing lists can be found at
|
||||||
|
http://www.gtk.org/mailinglists.html
|
||||||
|
|
||||||
|
|
||||||
|
Installation
|
||||||
|
============
|
||||||
|
|
||||||
|
See the file 'INSTALL'
|
||||||
|
|
||||||
|
|
||||||
|
Release notes for 2.20
|
||||||
|
======================
|
||||||
|
|
||||||
|
* GtkStatusbar now has a message area (see gtk_status_bar_get_message_area)
|
||||||
|
which makes it easy to place additional widgets inside the statusbar
|
||||||
|
frame or to replace the label widgets. Previously, this was only possible
|
||||||
|
by accessing the innards of the statusbar widget directly. Applications
|
||||||
|
which are doing so may need some adjustments, since the addition of the
|
||||||
|
message area changed the internal widget hierarchy.
|
||||||
|
|
||||||
|
* GtkBuilder no longer sets the "name" property of widgets to the ID
|
||||||
|
attribute of the <object>. Use gtk_buildable_get_name() instead of
|
||||||
|
gtk_widget_get_name() to obtain the ID.
|
||||||
|
|
||||||
|
* GTK+ now includes introspection data, as a consequence, it gained a
|
||||||
|
dependency on gobject-introspection. It is possible to build without
|
||||||
|
introspection by passing --disable-introspection to configure.
|
||||||
|
|
||||||
|
|
||||||
|
Release notes for 2.18
|
||||||
|
======================
|
||||||
|
|
||||||
|
* gtk_tooltip_set_custom now accept a NULL custom_widget to unset the
|
||||||
|
old custom_widget. Custom_widget does not get destroyed when the
|
||||||
|
tooltip goes away.
|
||||||
|
|
||||||
|
* JPEG2000 support is no longer enabled by default. It must be
|
||||||
|
explicitly turned on, by passing --with-libjasper to configure.
|
||||||
|
|
||||||
|
* GDK has been reworked to implement 'client-side windows'. This offers
|
||||||
|
exciting new possibilities, such as transformed, offscreen rendering,
|
||||||
|
but it breaks some long-standing assumptions that applications may
|
||||||
|
have about GDK windows. Setting the environment variable
|
||||||
|
GDK_NATIVE_WINDOWS makes GDK create a native X11 window for each
|
||||||
|
GDK window, which might make problematic applications work better.
|
||||||
|
|
||||||
|
* GTK+ calls signal (SIGPIPE, SIG_IGN) during initialization, to ignore
|
||||||
|
SIGPIPE signals, since these are almost never wanted in graphical
|
||||||
|
applications. If you do need to handle SIGPIPE for some reason, reset
|
||||||
|
the handler after gtk_init(), but notice that other libraries (e.g.
|
||||||
|
libdbus or gvfs) might do similar things.
|
||||||
|
|
||||||
|
Release notes for 2.16
|
||||||
|
======================
|
||||||
|
|
||||||
|
* Password entries now display a caps-lock warning. This can be turned off
|
||||||
|
with the caps-lock-warning property.
|
||||||
|
|
||||||
|
* Various orientation-related functions have been deprecated in favour
|
||||||
|
of the new GtkOrientable interface: gtk_scale_button_get_orientation,
|
||||||
|
gtk_scale_button_set_orientation, gtk_toolbar_set_orientation.
|
||||||
|
|
||||||
|
* The action-proxy interaction has been changed. Widgets that operate as
|
||||||
|
proxies have to implement the GtkActivatable interface now. GtkActivatable
|
||||||
|
implementation are responsible for syncing their appearance with the
|
||||||
|
action and for activating the action. All GTK+ widgets that are commonly
|
||||||
|
used as proxies implement the GtkActivatable interface.
|
||||||
|
|
||||||
|
* The handling of keyboard shortcuts has been changed, to help with a
|
||||||
|
longstanding complaint about the way GTK+ handles multiple layouts. GTK+
|
||||||
|
now only uses keys from groups other than the current group if they are
|
||||||
|
not present in the current group.
|
||||||
|
|
||||||
|
Release notes for 2.14
|
||||||
|
======================
|
||||||
|
|
||||||
|
* gtkitemfactory.h is now completely deprecated.
|
||||||
|
As gtkactiongroup.h and gtkstock.h no longer include the gtkitemfactory.h
|
||||||
|
header, this might break application using gtk_item_factory_* symbols
|
||||||
|
without including gtkitemfactory.h - even though this behaviour has never
|
||||||
|
been supported in the first place.
|
||||||
|
|
||||||
|
* The GtkFileSystem semi-private interface has been removed.
|
||||||
|
The GTK+ filechooser implementation now uses GIO directly, which has
|
||||||
|
rendered external filesystem implementations unnecessary. Consequently,
|
||||||
|
the GtkFileSystem interface is no longer available, nor the filechooser
|
||||||
|
will load any GtkFileSystem implementation.
|
||||||
|
|
||||||
|
* GtkComboBox now renders the popdown button insensitive when
|
||||||
|
the model is empty. Applications which want to populate the list
|
||||||
|
only before displaying it can set gtk_combo_box_set_button_sensitivity
|
||||||
|
to GTK_SENSITIVITY_ON, so that the button is always sensitive or
|
||||||
|
GTK_SENSITIVITY_OFF to make it insensitive respectively.
|
||||||
|
|
||||||
|
* GtkAdjustment now enforces that values are restricted to the
|
||||||
|
range [lower, upper - page_size]. This has always been the documented
|
||||||
|
behaviour, and the recommended practice is to set page_size to 0
|
||||||
|
when using adjustments for simple scalar values, like in a slider
|
||||||
|
or spin button.
|
||||||
|
|
||||||
|
* gdk-pixbuf will use GIO for mime type detection if possible. For
|
||||||
|
this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS
|
||||||
|
set accordingly at configure time. Otherwise, gdk-pixbuf falls
|
||||||
|
back to its built-in sniffing implementation.
|
||||||
|
|
||||||
|
Release notes for 2.12
|
||||||
|
======================
|
||||||
|
|
||||||
|
* gtk_about_dialog_get/set_name() were deprecated in favour of
|
||||||
|
gtk_about_dialog_get/set_program_name(), the GtkAboutDialog now uses the
|
||||||
|
"program-name" property instead of the conflicting "name" property.
|
||||||
|
|
||||||
|
* The gdk-pixbuf tiff loader now requires libtiff 3.6.0 or later.
|
||||||
|
|
||||||
|
* Support for Windows 9x/ME has officially been removed. It hasn't worked
|
||||||
|
since 2.6 anyway.
|
||||||
|
|
||||||
|
* The GtkTextBufferTargetInfo enumeration values have been changed from
|
||||||
|
G_MAXUINT-0, G_MAXUINT-1, G_MAXUINT-2, etc, to -1, -2, -3 to stay within
|
||||||
|
ANSI C limits.
|
||||||
|
|
||||||
|
* A change in the handling of _NET_WM_USER_TIME properties on toplevel
|
||||||
|
windows can cause deadlock problems with window managers that are using
|
||||||
|
GDK for drawing decorations. In particular, metacity <= 2.18.0 is affected
|
||||||
|
by this. The problem has been fixed in metacity 2.18.1.
|
||||||
|
|
||||||
|
* Semi-private GtkTextLayout api has changed: new GtkTextLayout method
|
||||||
|
invalidate_cursors(), and new functions gtk_text_layout_invalidate_cursors()
|
||||||
|
and gtk_text_layout_cursors_changed(), which should be used in place of
|
||||||
|
gtk_text_layout_invalidate() and gtk_text_layout_changed() if invalidation
|
||||||
|
is due to marks moved or changed selection; new GtkTextLineDisplay structure
|
||||||
|
member. Source compatibility is preserved; binary compatibility may break
|
||||||
|
only if GtkTextLineDisplay structure was created on stack or as a part
|
||||||
|
of another structure (in particular GnomeCanvas and its clones do not need
|
||||||
|
recompiling).
|
||||||
|
|
||||||
|
* Another new signal has been added to GtkNotebook. The new signal
|
||||||
|
is called create-window, so this name can no longer be used for signals
|
||||||
|
in objects derived from GtkNotebook.
|
||||||
|
|
||||||
|
* The gtk_notebook_set/get_group_id() functions were found to be insufficient
|
||||||
|
and have been deprecated in favour of gtk_notebook_set/get_group().
|
||||||
|
|
||||||
|
* The move-focus signal has been moved to GtkWidget, to unify the
|
||||||
|
various implementations of this signal in specific widgets. Great care
|
||||||
|
has been taken to make sure that all code using this signal continues
|
||||||
|
to work.
|
||||||
|
|
||||||
|
* An unused and hardly visible GtkFrame has been removed from the menu
|
||||||
|
widget hierarchy when GtkComboBox::appears-as-list style property is
|
||||||
|
set. Any RC file applying a different style to any widget below the
|
||||||
|
widget path "gtk-combobox-popup-window.GtkFrame" should take into
|
||||||
|
account that the frame no longer exists.
|
||||||
|
|
||||||
|
* The external print preview application used by GtkPrintOperationPreview
|
||||||
|
is now passed the print settings on the command line with the
|
||||||
|
--print-settings parameter pointing to a temp file containing the
|
||||||
|
settings. The preview application assumes ownership of the file and
|
||||||
|
should delete it once it does not need it anymore. The --print-settings
|
||||||
|
commandline option is understood by Evince 0.9.0 and newer. To use a
|
||||||
|
different print preview application, change the gtk-print-preview-command
|
||||||
|
setting in your gtkrc file, e.g. gtk-print-preview-command = "ggv %f"
|
||||||
|
|
||||||
|
* GtkMenuShell is now defined as an abstract type. It was already
|
||||||
|
documented as an abstract class, and there is little reason to
|
||||||
|
instantiate it.
|
||||||
|
|
||||||
|
* The GtkTooltips struct (this is the old tooltips API) is now considered
|
||||||
|
private. Code that used to access this struct, in particular the
|
||||||
|
tips_data_list field, will need to change. All of the old tooltips
|
||||||
|
API has been deprecated in favour of a new implementation and
|
||||||
|
API. This affects all of the gtk_tooltips_ functions, and functions
|
||||||
|
which take a GtkTooltips argument, such as gtk_tool_item_set_tooltip()
|
||||||
|
and gtk_menu_tool_button_set_arrow_tooltip().
|
||||||
|
|
||||||
|
* The memory management of the GtkRecentManager object has been changed,
|
||||||
|
as using the screen didn't guarantee that the singleton instance was
|
||||||
|
correctly destroyed. The screen-related functions have been deprecated,
|
||||||
|
and should not be used anymore; the GtkRecentManager instance returned by
|
||||||
|
the gtk_recent_manager_get_default() function is guaranteed to be valid
|
||||||
|
for the entire lifetime of an application.
|
||||||
|
|
||||||
|
* A number of interfaces that have been superseded by newer interfaces for
|
||||||
|
a long time have finally been deprecated. This includes
|
||||||
|
gtk_widget_ref/unref(), gtk_rc_style_ref/unref() and the old file selector.
|
||||||
|
|
||||||
|
* The various coordinate systems in use in GtkTreeView widgets have
|
||||||
|
been clarified in the documentation, and in the cause of doing so,
|
||||||
|
the functions gtk_tree_view_widget_to_tree_coords() and
|
||||||
|
gtk_tree_view_tree_to_widget_coords() have been deprecated in
|
||||||
|
favour of a new family of gtk_tree_view_convert_ functions.
|
||||||
|
|
||||||
|
* gtk_menu_item_remove_submenu() has been deprecated in favour of
|
||||||
|
gtk_menu_item_set_submenu (..., NULL).
|
||||||
|
|
||||||
|
* gtk_default_draw_check() has been fixed to really decrease the
|
||||||
|
indicator size by one pixel to ensure an odd size instead of
|
||||||
|
accidentially increasing it.
|
||||||
|
Consequently, gtk_cell_renderer_toggle_render() could be fixed to
|
||||||
|
not subtract 1 from the size passed to gtk_paint_option(), which
|
||||||
|
was just a workaround for above off-by-two for even sizes (theme
|
||||||
|
engines now get the real indicator size passed).
|
||||||
|
The default toggle size of GtkCheckMenuItem and GtkCellRendererToggle
|
||||||
|
has been changed to 13 to be consistent with GtkCheckButton.
|
||||||
|
The only visible change with default settings is that the indicator in
|
||||||
|
GtkCellRendererToggle has changed its size from 11 to 13 and is now
|
||||||
|
consistent with menus and toggle buttons.
|
||||||
|
|
||||||
|
* GTK+ has always required that gtk_init() (or a variant thereof) is
|
||||||
|
called before any other GTK+ function. Some applications call functions
|
||||||
|
like gtk_clipboard_get() to check if they need to call gtk_init(),
|
||||||
|
anyway. A change in GLib 2.14 has recently broken this unsupported
|
||||||
|
practise. It is worth pointing out that calling gtk_init() twice
|
||||||
|
does no harm.
|
||||||
|
|
||||||
|
|
||||||
|
Release notes for 2.10
|
||||||
|
======================
|
||||||
|
|
||||||
|
* The hexadecimal Unicode input feature has been reworked. It no longer
|
||||||
|
blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
|
||||||
|
it only uses Ctrl-Shift-u.
|
||||||
|
|
||||||
|
* A memory leak in GtkStyle handling has been fixed. This may expose bugs
|
||||||
|
in third-party widgets which forget to call gtk_style_attach() in their
|
||||||
|
realize functions.
|
||||||
|
|
||||||
|
* Range widgets like GtkScrollbar now render their arrows insensitive
|
||||||
|
when the slider is at the end. Applications which react to arrow
|
||||||
|
clicks even if the slider is at the end may want to use the new
|
||||||
|
gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
|
||||||
|
prevent the arrows from being rendered insensitive.
|
||||||
|
|
||||||
|
* GtkObject now uses the "floating reference" support in GObject.
|
||||||
|
GTK_OBJECT_IS_FLOATING() will still work, but direct checking
|
||||||
|
of the GTK_FLOATING flag will no longer detect the floating
|
||||||
|
reference. Details about floating references can be found in the docs:
|
||||||
|
http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref
|
||||||
|
|
||||||
|
* Accelerators like (_F) are now stripped from labels when they are
|
||||||
|
displayed in toolbars. If this is not wanted, the feature can be
|
||||||
|
suppressed by inserting a Unicode control character, e.g ZWNJ.
|
||||||
|
|
||||||
|
* The pixbuf theme engine can now customize expanders (in GtkTreeView
|
||||||
|
and GtkExpander) and resize grips, using the new EXPANDER and
|
||||||
|
RESIZE_GRIP function values.
|
||||||
|
|
||||||
|
* Dialogs created by gtk_about_dialog_new() no longer hide automatically
|
||||||
|
when the user clicks close. It is the applications responsibility to
|
||||||
|
hide or destroy the dialog.
|
||||||
|
|
||||||
|
* Several new signals have been added to GtkNotebook. Care has been taken
|
||||||
|
to choose signal names which do not collide with signals added by well-known
|
||||||
|
derived classes. The names which can no longer be used for signals in
|
||||||
|
objects derived from GtkNotebook are page-reordered, page-removed and
|
||||||
|
page-added.
|
||||||
|
|
||||||
|
* Due to the interface changes in the file chooser backend interface,
|
||||||
|
the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem
|
||||||
|
backends have to be ported to the new interface, other modules, such as
|
||||||
|
theme engines, input method modules or pixbuf loaders have to be rebuilt
|
||||||
|
so that they are installed in the right place for GTK+ to find them.
|
||||||
|
|
||||||
|
|
||||||
|
Release notes for 2.8
|
||||||
|
=====================
|
||||||
|
|
||||||
|
* GTK+ 2.8 and Pango 1.10 require the cairo library.
|
||||||
|
|
||||||
|
* The default theme has been renamed to "Raleigh". Existing configurations
|
||||||
|
specifying the "Default" theme name should still work.
|
||||||
|
|
||||||
|
* The GtkTreeView::enable-search property has been changed to control
|
||||||
|
only typeahead search, not the C-f keybinding to start an interactive
|
||||||
|
search. To turn off interactive searching completely, you have to
|
||||||
|
set GtkTreeView::search-column to -1.
|
||||||
|
|
||||||
|
* The restriction on using the same cell renderer in multiple columns
|
||||||
|
of a GtkTreeView is now more strictly enforced.
|
||||||
|
|
||||||
|
* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
|
||||||
|
the first day of the week. Thus, it is possible to select the first day
|
||||||
|
of the week independently from the language, by setting LC_TIME.
|
||||||
|
|
||||||
|
* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
|
||||||
|
in the icon caches, which will make the icon cache files larger than
|
||||||
|
the one produced by GTK+ 2.6. This change will reduce the memory
|
||||||
|
overhead of icon themes at runtime, since all GTK+ applications can
|
||||||
|
share the image data in memory.
|
||||||
|
|
||||||
|
* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
|
||||||
|
grab is broken. On X11, this can happen if the same application grabs
|
||||||
|
again, or if the window used for the grab becomes unviewable. It happens
|
||||||
|
more often on Win32. Applications which use grabs should pay attention
|
||||||
|
to these events and do the necessary cleanups when the grab is lost.
|
||||||
|
* The GIOChannel code for sockets on win32 has been rewritten.
|
||||||
|
Applications who make non-trivial use of GIOChannels on win32 should
|
||||||
|
be watched for possible problems.
|
||||||
|
|
||||||
|
* GLib 2.8 uses atomic operations to implement reference counting, thus
|
||||||
|
g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
|
||||||
|
can be used without locking in multithreaded applications. Note that
|
||||||
|
other modifications, like concurrent setting of properties still require
|
||||||
|
locking.
|
||||||
|
|
||||||
|
* g_convert() and related character set conversion functions have been
|
||||||
|
fixed to emit pending shift states and to not cache iconv descriptors
|
||||||
|
across multiple calls, since that is problematic for some encodings.
|
||||||
|
Note that these functions are not suitable for streaming conversions;
|
||||||
|
use g_iconv() to do streaming conversion.
|
||||||
|
|
||||||
|
|
||||||
|
Release notes for 2.6
|
||||||
|
=====================
|
||||||
|
|
||||||
|
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
|
||||||
|
a clipboard manager following the specification at
|
||||||
|
http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
|
||||||
|
must be running. A sample implementation of such a clipboard manager
|
||||||
|
is available at
|
||||||
|
http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
|
||||||
|
Applications can use the function gdk_display_supports_clipboard_persistence()
|
||||||
|
to find out if clipboard persistence is available.
|
||||||
|
|
||||||
|
* Notification on clipboard ownership changes via GdkOwnerChange events
|
||||||
|
requires the XFIXES X extension. Applications can use the function
|
||||||
|
gdk_display_supports_selection_notification() to find out if ownerchip
|
||||||
|
change notification is available.
|
||||||
|
|
||||||
|
* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
|
||||||
|
specification. Setting the XDG_DATA_DIRS environtment variable may be
|
||||||
|
necessary if your icons aren't installed in the default location
|
||||||
|
/usr/share/icons.
|
||||||
|
|
||||||
|
* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
|
||||||
|
to avoid a lot of disk searching overhead. GTK+ includes a utility named
|
||||||
|
gtk-update-icon-cache to generate these cache files. For further details,
|
||||||
|
see the gtk-update-icon-cache man page or the GTK+ documentation.
|
||||||
|
|
||||||
|
* To reduce code size and improve efficiency, GTK+, when compiled
|
||||||
|
with the GNU toolchain, has separate internal and external entry
|
||||||
|
points for exported functions. The internal names, which begin with
|
||||||
|
IA__, may be seen when debugging a GTK+ program.
|
||||||
|
|
||||||
|
* The following functions have been deprecated in GTK+ 2.6:
|
||||||
|
gdk_pango_context_set_colormap
|
||||||
|
gtk_cell_renderer_editing_canceled
|
||||||
|
|
||||||
|
* The new GtkFileChooser widget emphasizes simplicity and thus does
|
||||||
|
not provide a navigation entry by default when opening files.
|
||||||
|
Experienced command line users will likely want to make heavy use of
|
||||||
|
the location dialog brought up by the Control-L key shortcut.
|
||||||
|
|
||||||
|
* The GTK+ libraries use an '_' prefix to indicate private symbols that
|
||||||
|
must not be used by applications. On some platforms, symbols beginning
|
||||||
|
with prefixes such as _gtk, _gdk, and _pango will be exported
|
||||||
|
from the library, on others not. In no case can applications
|
||||||
|
use these private symbols. In addition to that, GTK+ 2.6 makes several
|
||||||
|
symbols private which were not in any installed header files and
|
||||||
|
were never intended to be exported.
|
||||||
|
|
||||||
|
* The gdk_pixbuf_xlib library included in the contrib/ directory
|
||||||
|
and the framebuffer GDK backend included in the gdk/linux-fb directory
|
||||||
|
of GTK+ are provided on an as-is basis and have not been tested at all.
|
||||||
|
No guarantees about the degree of workingness or about future
|
||||||
|
compatibility are provided.
|
||||||
|
|
||||||
|
* On Unix, the assumption of GLib and GTK+ by default is that filenames on
|
||||||
|
the filesystem are encoded in UTF-8 rather than the encoding of the locale;
|
||||||
|
the GTK+ developers consider that having filenames whose interpretation
|
||||||
|
depends on the current locale is fundamentally a bad idea.
|
||||||
|
|
||||||
|
If you have filenames encoded in the encoding of your locale, then you
|
||||||
|
may want to set the G_FILENAME_ENCODING environment variable:
|
||||||
|
|
||||||
|
G_FILENAME_ENCODING=@locale
|
||||||
|
export G_FILENAME_ENCODING
|
||||||
|
|
||||||
|
(Earlier versions of GLib 2.x required a different environment variable
|
||||||
|
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
|
||||||
|
is still supported, but G_FILENAME_ENCODING is preferred.)
|
||||||
|
Best integration of GTK+ 2.6 with the environment is achieved by
|
||||||
|
using a UTF-8 locale.
|
||||||
|
|
||||||
|
On Windows, filenames passed to GTK+ should always be in UTF-8, as
|
||||||
|
in GLib 2.6. This is different than in previous versions of GTK+
|
||||||
|
where the system codepage was used. As in GLib, for DLL ABI
|
||||||
|
stability, applications built against previous versions of GTK+ will
|
||||||
|
use entry points providing the old semantics.
|
||||||
|
|
||||||
|
When compiling against GTK+ 2.6, applications intended to be
|
||||||
|
portable to Windows must take the UTF-8 file name encoding into
|
||||||
|
consideration, and use the gstdio wrappers to access files whose
|
||||||
|
names have been constructed from strings returned from GTK+ or GLib.
|
||||||
|
|
||||||
|
|
||||||
|
How to report bugs
|
||||||
|
==================
|
||||||
|
|
||||||
|
Bugs should be reported to the GNOME bug tracking system.
|
||||||
|
(http://bugzilla.gnome.org, product gtk+.) You will need to create an
|
||||||
|
account for yourself.
|
||||||
|
|
||||||
|
In the bug report please include:
|
||||||
|
|
||||||
|
* Information about your system. For instance:
|
||||||
|
|
||||||
|
- What operating system and version
|
||||||
|
- What version of X
|
||||||
|
- For Linux, what version of the C library
|
||||||
|
|
||||||
|
And anything else you think is relevant.
|
||||||
|
|
||||||
|
* How to reproduce the bug.
|
||||||
|
|
||||||
|
If you can reproduce it with one of the tests or demos built with GTK+,
|
||||||
|
such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
|
||||||
|
please include a short test program that exhibits the behavior. As a
|
||||||
|
last resort, you can also provide a pointer to a larger piece of software
|
||||||
|
that can be downloaded.
|
||||||
|
|
||||||
|
* If the bug was a crash, the exact text that was printed out when the
|
||||||
|
crash occured.
|
||||||
|
|
||||||
|
* Further information such as stack traces may be useful, but is not
|
||||||
|
necessary. If you do send a stack trace, and the error is an X error,
|
||||||
|
it will be more useful if the stacktrace is produced running the test
|
||||||
|
program with the --sync command line option.
|
||||||
|
|
||||||
|
|
||||||
|
Patches
|
||||||
|
=======
|
||||||
|
|
||||||
|
Patches should also be submitted to bugzilla.gnome.org. If the patch
|
||||||
|
fixes an existing bug, add the patch as an attachment to that bug
|
||||||
|
report.
|
||||||
|
|
||||||
|
Otherwise, enter a new bug report that describes the patch, and attach
|
||||||
|
the patch to that bug report.
|
||||||
|
|
||||||
|
Patches should be in unified diff form. (The -up option to GNU diff.)
|
159
README.md
@@ -1,159 +0,0 @@
|
|||||||
GTK — The GTK toolkit
|
|
||||||
=====================
|
|
||||||
|
|
||||||
[](https://gitlab.gnome.org/GNOME/gtk/pipelines)
|
|
||||||
|
|
||||||
General information
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
GTK is a multi-platform toolkit for creating graphical user interfaces.
|
|
||||||
Offering a complete set of widgets, GTK is suitable for projects ranging
|
|
||||||
from small one-off projects to complete application suites.
|
|
||||||
|
|
||||||
GTK is free software and part of the GNU Project. However, the
|
|
||||||
licensing terms for GTK, the GNU LGPL, allow it to be used by all
|
|
||||||
developers, including those developing proprietary software, without any
|
|
||||||
license fees or royalties.
|
|
||||||
|
|
||||||
The official download location
|
|
||||||
|
|
||||||
- https://download.gnome.org/sources/gtk+
|
|
||||||
|
|
||||||
The official web site
|
|
||||||
|
|
||||||
- https://www.gtk.org
|
|
||||||
|
|
||||||
The official developers blog
|
|
||||||
|
|
||||||
- https://blog.gtk.org
|
|
||||||
|
|
||||||
Information about mailing lists can be found at
|
|
||||||
|
|
||||||
- http://www.gtk.org/mailing-lists.php
|
|
||||||
|
|
||||||
Nightly documentation can be found at
|
|
||||||
- Gtk: https://gnome.pages.gitlab.gnome.org/gtk/gtk/
|
|
||||||
- Gdk: https://gnome.pages.gitlab.gnome.org/gtk/gdk/
|
|
||||||
- Gsk: https://gnome.pages.gitlab.gnome.org/gtk/gsk/
|
|
||||||
|
|
||||||
Building and installing
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
In order to build GTK you will need:
|
|
||||||
|
|
||||||
- [a C99 compatible compiler](https://wiki.gnome.org/Projects/GLib/CompilerRequirements)
|
|
||||||
- [Python 3](https://www.python.org/)
|
|
||||||
- [Meson](http://mesonbuild.com)
|
|
||||||
- [Ninja](https://ninja-build.org)
|
|
||||||
|
|
||||||
You will also need various dependencies, based on the platform you are
|
|
||||||
building for:
|
|
||||||
|
|
||||||
- [GLib](https://download.gnome.org/sources/glib)
|
|
||||||
- [GdkPixbuf](https://download.gnome.org/sources/gdk-pixbuf)
|
|
||||||
- [GObject-Introspection](https://download.gnome.org/sources/gobject-introspection)
|
|
||||||
- [Cairo](https://www.cairographics.org)
|
|
||||||
- [Pango](https://download.gnome.org/sources/pango)
|
|
||||||
- [Epoxy](https://github.com/anholt/libepoxy)
|
|
||||||
- [Graphene](https://github.com/ebassi/graphene)
|
|
||||||
- [ATK](https://download.gnome.org/sources/atk)
|
|
||||||
- [Xkb-common](https://github.com/xkbcommon/libxkbcommon)
|
|
||||||
|
|
||||||
If you are building the X11 backend, you will also need:
|
|
||||||
|
|
||||||
- Xlib, and the following X extensions:
|
|
||||||
- xrandr
|
|
||||||
- xrender
|
|
||||||
- xi
|
|
||||||
- xext
|
|
||||||
- xfixes
|
|
||||||
- xcursor
|
|
||||||
- xdamage
|
|
||||||
- xcomposite
|
|
||||||
- [atk-bridge-2.0](https://download.gnome.org/sources/at-spi2-atk)
|
|
||||||
|
|
||||||
If you are building the Wayland backend, you will also need:
|
|
||||||
|
|
||||||
- Wayland-client
|
|
||||||
- Wayland-protocols
|
|
||||||
- Wayland-cursor
|
|
||||||
- Wayland-EGL
|
|
||||||
|
|
||||||
Once you have all the necessary dependencies, you can build GTK by using
|
|
||||||
Meson:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ meson _build .
|
|
||||||
$ cd _build
|
|
||||||
$ ninja
|
|
||||||
```
|
|
||||||
|
|
||||||
You can run the test suite using:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ meson test
|
|
||||||
```
|
|
||||||
|
|
||||||
And, finally, you can install GTK using:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ sudo ninja install
|
|
||||||
```
|
|
||||||
|
|
||||||
Complete information about installing GTK+ and related libraries
|
|
||||||
can be found in the file:
|
|
||||||
|
|
||||||
```
|
|
||||||
docs/reference/gtk/html/gtk-building.html
|
|
||||||
```
|
|
||||||
|
|
||||||
Or [online](https://developer.gnome.org/gtk4/stable/gtk-building.html)
|
|
||||||
|
|
||||||
How to report bugs
|
|
||||||
------------------
|
|
||||||
|
|
||||||
Bugs should be reported on the [issues page](https://gitlab.gnome.org/GNOME/gtk/issues/new).
|
|
||||||
|
|
||||||
In the bug report please include:
|
|
||||||
|
|
||||||
* Information about your system. For instance:
|
|
||||||
|
|
||||||
- which version of GTK you are using
|
|
||||||
- what operating system and version
|
|
||||||
- for Linux, which distribution
|
|
||||||
- if you built GTK, the list of options used to configure the build
|
|
||||||
|
|
||||||
And anything else you think is relevant.
|
|
||||||
|
|
||||||
* How to reproduce the bug.
|
|
||||||
|
|
||||||
If you can reproduce it with one of the demo applications that are
|
|
||||||
built in the demos/ subdirectory, on one of the test programs that
|
|
||||||
are built in the tests/ subdirectory, that will be most convenient.
|
|
||||||
Otherwise, please include a short test program that exhibits the
|
|
||||||
behavior. As a last resort, you can also provide a pointer to a
|
|
||||||
larger piece of software that can be downloaded.
|
|
||||||
|
|
||||||
* If the bug was a crash, the exact text that was printed out
|
|
||||||
when the crash occurred.
|
|
||||||
|
|
||||||
* Further information such as stack traces may be useful, but
|
|
||||||
is not necessary.
|
|
||||||
|
|
||||||
Release notes
|
|
||||||
-------------
|
|
||||||
|
|
||||||
The release notes for GTK are part of the migration guide in the API
|
|
||||||
reference. See:
|
|
||||||
|
|
||||||
- [3.x release notes](https://developer.gnome.org/gtk3/unstable/gtk-migrating-2-to-3.html)
|
|
||||||
- [4.x release notes](https://developer.gnome.org/gtk4/unstable/gtk-migrating-3-to-4.html)
|
|
||||||
|
|
||||||
Licensing terms
|
|
||||||
---------------
|
|
||||||
|
|
||||||
GTK is released under the terms of the GNU Lesser General Public License,
|
|
||||||
version 2.1 or, at your option, any later version, as published by the Free
|
|
||||||
Software Foundation.
|
|
||||||
|
|
||||||
Please, see the `COPYING` file for further information.
|
|
184
README.win32
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
The Win32 backend in GTK+ is not as stable or correct as the X11 one.
|
||||||
|
|
||||||
|
For prebuilt runtime and developer packages see
|
||||||
|
http://ftp.gnome.org/pub/gnome/binaries/win32/
|
||||||
|
|
||||||
|
Building GTK+ on Win32
|
||||||
|
======================
|
||||||
|
|
||||||
|
First you obviously need developer packages for the compile-time
|
||||||
|
dependencies: Pango, atk, glib, gettext-runtime, libiconv, libpng,
|
||||||
|
zlib, libtiff at least. See
|
||||||
|
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies .
|
||||||
|
|
||||||
|
After installing the dependencies, there are two ways to build GTK+
|
||||||
|
for win32.
|
||||||
|
|
||||||
|
1) GNU tools, ./configure && make install
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
This requires you have mingw and MSYS.
|
||||||
|
|
||||||
|
Use the configure script, and the resulting Makefiles (which use
|
||||||
|
libtool and gcc to do the compilation). I use this myself, but it can
|
||||||
|
be hard to setup correctly.
|
||||||
|
|
||||||
|
The full script I run to build GTK+ 2.16 unpacked from a source
|
||||||
|
distribution is as below. This is from bulding GTK+ 2.16.5. I don't
|
||||||
|
use any script like this to build the development branch, as I don't
|
||||||
|
distribute any binaries from development branches.
|
||||||
|
|
||||||
|
# This is a shell script that calls functions and scripts from
|
||||||
|
# tml@iki.fi's personal work env<6E>ronment. It is not expected to be
|
||||||
|
# usable unmodified by others, and is included only for reference.
|
||||||
|
|
||||||
|
MOD=gtk+
|
||||||
|
VER=2.16.5
|
||||||
|
REV=1
|
||||||
|
ARCH=win32
|
||||||
|
|
||||||
|
THIS=${MOD}_${VER}-${REV}_${ARCH}
|
||||||
|
|
||||||
|
RUNZIP=${MOD}_${VER}-${REV}_${ARCH}.zip
|
||||||
|
DEVZIP=${MOD}-dev_${VER}-${REV}_${ARCH}.zip
|
||||||
|
|
||||||
|
HEX=`echo $THIS | md5sum | cut -d' ' -f1`
|
||||||
|
TARGET=c:/devel/target/$HEX
|
||||||
|
|
||||||
|
usedev
|
||||||
|
usemsvs6
|
||||||
|
|
||||||
|
(
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
DEPS=`latest --arch=${ARCH} glib atk cairo pango libpng zlib libtiff jpeg`
|
||||||
|
PROXY_LIBINTL=`latest --arch=${ARCH} proxy-libintl`
|
||||||
|
|
||||||
|
PKG_CONFIG_PATH=
|
||||||
|
for D in $DEPS; do
|
||||||
|
PATH=/devel/dist/${ARCH}/$D/bin:$PATH
|
||||||
|
[ -d /devel/dist/${ARCH}/$D/lib/pkgconfig ] && PKG_CONFIG_PATH=/devel/dist/${ARCH}/$D/lib/pkgconfig:$PKG_CONFIG_PATH
|
||||||
|
done
|
||||||
|
|
||||||
|
LIBPNG=`latest --arch=${ARCH} libpng`
|
||||||
|
ZLIB=`latest --arch=${ARCH} zlib`
|
||||||
|
LIBTIFF=`latest --arch=${ARCH} libtiff`
|
||||||
|
JPEG=`latest --arch=${ARCH} jpeg`
|
||||||
|
|
||||||
|
patch -p0 <<'EOF'
|
||||||
|
EOF
|
||||||
|
|
||||||
|
lt_cv_deplibs_check_method='pass_all' \
|
||||||
|
CC='gcc -mtune=pentium3 -mthreads' \
|
||||||
|
CPPFLAGS="-I/devel/dist/${ARCH}/${LIBPNG}/include \
|
||||||
|
-I/devel/dist/${ARCH}/${ZLIB}/include \
|
||||||
|
-I/devel/dist/${ARCH}/${LIBTIFF}/include \
|
||||||
|
-I/devel/dist/${ARCH}/${JPEG}/include \
|
||||||
|
-I/devel/dist/${ARCH}/${PROXY_LIBINTL}/include" \
|
||||||
|
LDFLAGS="-L/devel/dist/${ARCH}/${LIBPNG}/lib \
|
||||||
|
-L/devel/dist/${ARCH}/${ZLIB}/lib \
|
||||||
|
-L/devel/dist/${ARCH}/${LIBTIFF}/lib \
|
||||||
|
-L/devel/dist/${ARCH}/${JPEG}/lib \
|
||||||
|
-L/devel/dist/${ARCH}/${PROXY_LIBINTL}/lib -Wl,--exclude-libs=libintl.a \
|
||||||
|
-Wl,--enable-auto-image-base" \
|
||||||
|
LIBS=-lintl \
|
||||||
|
CFLAGS=-O2 \
|
||||||
|
./configure \
|
||||||
|
--with-gdktarget=win32 \
|
||||||
|
--disable-gdiplus \
|
||||||
|
--with-included-immodules \
|
||||||
|
--without-libjasper \
|
||||||
|
--enable-debug=yes \
|
||||||
|
--enable-explicit-deps=no \
|
||||||
|
--disable-gtk-doc \
|
||||||
|
--disable-static \
|
||||||
|
--prefix=$TARGET &&
|
||||||
|
|
||||||
|
libtoolcacheize &&
|
||||||
|
rm gtk/gtk.def &&
|
||||||
|
(PATH="$PWD/gdk-pixbuf/.libs:/devel/target/$HEX/bin:$PATH" make -j3 install || (rm .libtool-cache* && PATH="/devel/target/$HEX/bin:$PATH" make -j3 install)) &&
|
||||||
|
|
||||||
|
PATH="/devel/target/$HEX/bin:$PATH" gdk-pixbuf-query-loaders >/devel/target/$HEX/etc/gtk-2.0/gdk-pixbuf.loaders &&
|
||||||
|
|
||||||
|
grep -v -E 'Automatically generated|Created by|LoaderDir =' <$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp &&
|
||||||
|
mv $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
|
||||||
|
grep -v -E 'Automatically generated|Created by|ModulesPath =' <$TARGET/etc/gtk-2.0/gtk.immodules >$TARGET/etc/gtk-2.0/gtk.immodules.temp &&
|
||||||
|
mv $TARGET/etc/gtk-2.0/gtk.immodules.temp $TARGET/etc/gtk-2.0/gtk.immodules &&
|
||||||
|
|
||||||
|
./gtk-zip.sh &&
|
||||||
|
|
||||||
|
mv /tmp/${MOD}-${VER}.zip /tmp/$RUNZIP &&
|
||||||
|
mv /tmp/${MOD}-dev-${VER}.zip /tmp/$DEVZIP
|
||||||
|
|
||||||
|
) 2>&1 | tee /devel/src/tml/packaging/$THIS.log
|
||||||
|
|
||||||
|
(cd /devel && zip /tmp/$DEVZIP src/tml/packaging/$THIS.{sh,log}) &&
|
||||||
|
manifestify /tmp/$RUNZIP /tmp/$DEVZIP
|
||||||
|
|
||||||
|
You should not just copy the above blindly. There are some things in
|
||||||
|
the script that are very specific to *my* build setup on *my* current
|
||||||
|
machine. For instance the "latest" command, the "usedev" and
|
||||||
|
"usemsvs6" shell functions, the /devel/dist folder. The above script
|
||||||
|
is really just meant for reference, to give an idea. You really need
|
||||||
|
to understand what things like PKG_CONFIG_PATH are and set them up
|
||||||
|
properly after installing the dependencies before building GTK+.
|
||||||
|
|
||||||
|
As you see above, after running configure, one can just say "make
|
||||||
|
install", like on Unix. A post-build fix is needed, running
|
||||||
|
gdk-pixbuf-query-loaders once more to get a correct gdk-pixbuf.loaders
|
||||||
|
file.
|
||||||
|
|
||||||
|
For a 64-bit build you need to remove the gtk/gtk.def file and let it
|
||||||
|
be regenerated by the makefilery. This is because the 64-bit GTK dll
|
||||||
|
has a slightly different list of exported function names. This is on
|
||||||
|
purpose and not a bug. The API is the same at the source level, and
|
||||||
|
the same #defines of some function names to actually have a _utf8
|
||||||
|
suffix is used (just to keep the header simpler). But the
|
||||||
|
corresponding non-suffixed function to maintain ABI stability are not
|
||||||
|
needed in the 64-bit case (because there are no older EXEs around that
|
||||||
|
would require such for ABI stability).
|
||||||
|
|
||||||
|
|
||||||
|
2) Microsoft's tools
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
|
||||||
|
makefile.msc in gdk and gtk. Be prepared to manually edit various
|
||||||
|
makefile.msc files, and the makefile snippets in build/win32.
|
||||||
|
|
||||||
|
Alternative 1 also generates Microsoft import libraries (.lib), if you
|
||||||
|
have lib.exe available. It might also work for cross-compilation from
|
||||||
|
Unix.
|
||||||
|
|
||||||
|
I use method 1 myself. Hans Breuer has been taking care of the MSVC
|
||||||
|
makefiles. At times, we disagree a bit about various issues, and for
|
||||||
|
instance the makefile.msc files might not produce identically named
|
||||||
|
DLLs and import libraries as the "autoconfiscated" makefiles and
|
||||||
|
libtool do. If this bothers you, you will have to fix the makefiles.
|
||||||
|
|
||||||
|
Using GTK+ on Win32
|
||||||
|
===================
|
||||||
|
|
||||||
|
To use GTK+ on Win32, you also need either one of the above mentioned
|
||||||
|
compilers. Other compilers might work, but don't count on it. Look for
|
||||||
|
prebuilt developer packages (DLLs, import libraries, headers) on the
|
||||||
|
above website.
|
||||||
|
|
||||||
|
Multi-threaded use of GTK+ on Win32
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Multi-threaded GTK+ programs might work on Windows in special simple
|
||||||
|
cases, but not in general. Sorry. If you have all GTK+ and GDK calls
|
||||||
|
in the same thread, it might work. Otherwise, probably not at
|
||||||
|
all. Possible ways to fix this are being investigated.
|
||||||
|
|
||||||
|
Wintab
|
||||||
|
======
|
||||||
|
|
||||||
|
The tablet support uses the Wintab API. The Wintab development kit is
|
||||||
|
no longer required. The wintab.h header file is bundled with GTK+
|
||||||
|
sources. Unfortunately it seems that only Wacom tablets come with
|
||||||
|
support for the Wintab API nowadays.
|
||||||
|
|
||||||
|
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>
|
79
acinclude.m4
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
# autoconf 2.13 / 2.50 compatibility macro
|
||||||
|
|
||||||
|
# GLIB_AC_DIVERT_BEFORE_HELP(STUFF)
|
||||||
|
# ---------------------------------
|
||||||
|
# Put STUFF early enough so that they are available for $ac_help expansion.
|
||||||
|
# Handle both classic (<= v2.13) and modern autoconf
|
||||||
|
AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
|
||||||
|
[ifdef([m4_divert_text], [m4_divert_text([NOTICE],[$1])],
|
||||||
|
[ifdef([AC_DIVERT], [AC_DIVERT([NOTICE],[$1])],
|
||||||
|
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
|
||||||
|
$1
|
||||||
|
AC_DIVERT_POP()])])])
|
||||||
|
|
||||||
|
# GTK_ADD_LIB(VAR,LIBNAME)
|
||||||
|
# ---------------------------------
|
||||||
|
# Helper macro to add a -lBlah to a variable, avoiding repeats
|
||||||
|
# Note that this needs to be quoted when used in an enclosing macro
|
||||||
|
AC_DEFUN([GTK_ADD_LIB],
|
||||||
|
[ case "$$1 " in
|
||||||
|
*-l$2[[\ \ ]]*) ;;
|
||||||
|
*) $1="-l$2 $$1" ;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
# Checks the location of the XML Catalog
|
||||||
|
# Usage:
|
||||||
|
# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||||
|
# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
|
||||||
|
AC_DEFUN([JH_PATH_XML_CATALOG],
|
||||||
|
[
|
||||||
|
# check for the presence of the XML catalog
|
||||||
|
AC_ARG_WITH([xml-catalog],
|
||||||
|
AC_HELP_STRING([--with-xml-catalog=CATALOG],
|
||||||
|
[path to xml catalog to use]),,
|
||||||
|
[with_xml_catalog=/etc/xml/catalog])
|
||||||
|
jh_found_xmlcatalog=true
|
||||||
|
XML_CATALOG_FILE="$with_xml_catalog"
|
||||||
|
AC_SUBST([XML_CATALOG_FILE])
|
||||||
|
AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
|
||||||
|
if test -f "$XML_CATALOG_FILE"; then
|
||||||
|
AC_MSG_RESULT([found])
|
||||||
|
else
|
||||||
|
jh_found_xmlcatalog=false
|
||||||
|
AC_MSG_RESULT([not found])
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check for the xmlcatalog program
|
||||||
|
AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
|
||||||
|
if test "x$XMLCATALOG" = xno; then
|
||||||
|
jh_found_xmlcatalog=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
if $jh_found_xmlcatalog; then
|
||||||
|
ifelse([$1],,[:],[$1])
|
||||||
|
else
|
||||||
|
ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
# Checks if a particular URI appears in the XML catalog
|
||||||
|
# Usage:
|
||||||
|
# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||||
|
AC_DEFUN([JH_CHECK_XML_CATALOG],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
|
||||||
|
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
|
||||||
|
if $jh_found_xmlcatalog && \
|
||||||
|
AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
|
||||||
|
AC_MSG_RESULT([found])
|
||||||
|
ifelse([$3],,,[$3
|
||||||
|
])dnl
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([not found])
|
||||||
|
ifelse([$4],,
|
||||||
|
[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
|
||||||
|
[$4])
|
||||||
|
fi
|
||||||
|
])
|
130
autogen.sh
Executable file
@@ -0,0 +1,130 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Run this to generate all the initial makefiles, etc.
|
||||||
|
|
||||||
|
srcdir=`dirname $0`
|
||||||
|
test -z "$srcdir" && srcdir=.
|
||||||
|
|
||||||
|
ORIGDIR=`pwd`
|
||||||
|
cd $srcdir
|
||||||
|
PROJECT=Gtk+
|
||||||
|
TEST_TYPE=-d
|
||||||
|
FILE=gdk
|
||||||
|
|
||||||
|
DIE=0
|
||||||
|
|
||||||
|
have_libtool=false
|
||||||
|
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
|
||||||
|
libtool_version=`libtoolize --version |
|
||||||
|
head -1 |
|
||||||
|
sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
|
||||||
|
-e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
|
||||||
|
case $libtool_version in
|
||||||
|
2.*)
|
||||||
|
have_libtool=true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if $have_libtool ; then : ; else
|
||||||
|
echo
|
||||||
|
echo "You must have libtool 2.2 installed to compile $PROJECT."
|
||||||
|
echo "Install the appropriate package for your distribution,"
|
||||||
|
echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
|
||||||
|
DIE=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
(gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
|
||||||
|
echo
|
||||||
|
echo "You must have gtk-doc installed to compile $PROJECT."
|
||||||
|
echo "Install the appropriate package for your distribution,"
|
||||||
|
echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
|
||||||
|
DIE=1
|
||||||
|
}
|
||||||
|
|
||||||
|
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
|
||||||
|
echo
|
||||||
|
echo "You must have autoconf installed to compile $PROJECT."
|
||||||
|
echo "Install the appropriate package for your distribution,"
|
||||||
|
echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
|
||||||
|
DIE=1
|
||||||
|
}
|
||||||
|
|
||||||
|
if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
|
||||||
|
AUTOMAKE=automake-1.11
|
||||||
|
ACLOCAL=aclocal-1.11
|
||||||
|
else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
|
||||||
|
AUTOMAKE=automake-1.10
|
||||||
|
ACLOCAL=aclocal-1.10
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "You must have automake 1,10.x or 1.11.x installed to compile $PROJECT."
|
||||||
|
echo "Install the appropriate package for your distribution,"
|
||||||
|
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
|
||||||
|
DIE=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$DIE" -eq 1; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
test $TEST_TYPE $FILE || {
|
||||||
|
echo "You must run this script in the top-level $PROJECT directory"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# NOCONFIGURE is used by gnome-common; support both
|
||||||
|
if ! test -z "$AUTOGEN_SUBDIR_MODE"; then
|
||||||
|
NOCONFIGURE=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$NOCONFIGURE"; then
|
||||||
|
if test -z "$*"; then
|
||||||
|
echo "I am going to run ./configure with no arguments - if you wish "
|
||||||
|
echo "to pass any to it, please specify them on the $0 command line."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$ACLOCAL_FLAGS"; then
|
||||||
|
|
||||||
|
acdir=`$ACLOCAL --print-ac-dir`
|
||||||
|
m4list="glib-2.0.m4 glib-gettext.m4"
|
||||||
|
|
||||||
|
for file in $m4list
|
||||||
|
do
|
||||||
|
if [ ! -f "$acdir/$file" ]; then
|
||||||
|
echo "WARNING: aclocal's directory is $acdir, but..."
|
||||||
|
echo " no file $acdir/$file"
|
||||||
|
echo " You may see fatal macro warnings below."
|
||||||
|
echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS "
|
||||||
|
echo " environment variable to \"-I /some/dir\", or install"
|
||||||
|
echo " $acdir/$file."
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf autom4te.cache
|
||||||
|
|
||||||
|
# README and INSTALL are required by automake, but may be deleted by clean
|
||||||
|
# up rules. to get automake to work, simply touch these here, they will be
|
||||||
|
# regenerated from their corresponding *.in files by ./configure anyway.
|
||||||
|
touch README INSTALL
|
||||||
|
|
||||||
|
gtkdocize || exit $?
|
||||||
|
|
||||||
|
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit $?
|
||||||
|
|
||||||
|
libtoolize --force || exit $?
|
||||||
|
|
||||||
|
autoheader || exit $?
|
||||||
|
|
||||||
|
$AUTOMAKE --add-missing || exit $?
|
||||||
|
autoconf || exit $?
|
||||||
|
cd $ORIGDIR || exit $?
|
||||||
|
|
||||||
|
if test -z "$NOCONFIGURE"; then
|
||||||
|
$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Now type 'make' to compile $PROJECT."
|
||||||
|
fi
|
@@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
"app-id": "org.gtk.Demo4",
|
|
||||||
"runtime": "org.gnome.Platform",
|
|
||||||
"runtime-version": "master",
|
|
||||||
"sdk": "org.gnome.Sdk",
|
|
||||||
"command": "gtk4-demo",
|
|
||||||
"tags": ["devel", "development", "nightly"],
|
|
||||||
"desktop-file-name-prefix": "(Development) ",
|
|
||||||
"finish-args": [
|
|
||||||
"--device=dri",
|
|
||||||
"--share=ipc",
|
|
||||||
"--socket=fallback-x11",
|
|
||||||
"--socket=wayland",
|
|
||||||
"--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*"
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/include",
|
|
||||||
"/lib/pkgconfig", "/share/pkgconfig",
|
|
||||||
"/share/aclocal",
|
|
||||||
"/man", "/share/man", "/share/gtk-doc",
|
|
||||||
"*.la", ".a",
|
|
||||||
"/lib/girepository-1.0",
|
|
||||||
"/share/gir-1.0",
|
|
||||||
"/share/doc"
|
|
||||||
],
|
|
||||||
"modules": [
|
|
||||||
{
|
|
||||||
"name" : "wayland",
|
|
||||||
"buildsystem" : "autotools",
|
|
||||||
"builddir" : true,
|
|
||||||
"config-opts" : [
|
|
||||||
"--disable-documentation"
|
|
||||||
],
|
|
||||||
"sources" : [
|
|
||||||
{
|
|
||||||
"type" : "git",
|
|
||||||
"url" : "https://github.com/wayland-project/wayland.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "graphene",
|
|
||||||
"buildsystem": "meson",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"--libdir=/app/lib",
|
|
||||||
"-Dtests=false",
|
|
||||||
"-Dbenchmarks=false"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/ebassi/graphene.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "gtk",
|
|
||||||
"buildsystem": "meson",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"--libdir=/app/lib"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://gitlab.gnome.org/GNOME/gtk.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
"app-id": "org.gtk.IconBrowser4",
|
|
||||||
"runtime": "org.gnome.Platform",
|
|
||||||
"runtime-version": "master",
|
|
||||||
"sdk": "org.gnome.Sdk",
|
|
||||||
"command": "gtk4-icon-browser",
|
|
||||||
"tags": ["devel", "development", "nightly"],
|
|
||||||
"desktop-file-name-prefix": "(Development) ",
|
|
||||||
"finish-args": [
|
|
||||||
"--device=dri",
|
|
||||||
"--share=ipc",
|
|
||||||
"--socket=fallback-x11",
|
|
||||||
"--socket=wayland",
|
|
||||||
"--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*"
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/include",
|
|
||||||
"/lib/pkgconfig", "/share/pkgconfig",
|
|
||||||
"/share/aclocal",
|
|
||||||
"/man", "/share/man", "/share/gtk-doc",
|
|
||||||
"*.la", ".a",
|
|
||||||
"/lib/girepository-1.0",
|
|
||||||
"/share/gir-1.0",
|
|
||||||
"/share/doc"
|
|
||||||
],
|
|
||||||
"modules": [
|
|
||||||
{
|
|
||||||
"name" : "wayland",
|
|
||||||
"buildsystem" : "autotools",
|
|
||||||
"builddir" : true,
|
|
||||||
"config-opts" : [
|
|
||||||
"--disable-documentation"
|
|
||||||
],
|
|
||||||
"sources" : [
|
|
||||||
{
|
|
||||||
"type" : "git",
|
|
||||||
"url" : "https://github.com/wayland-project/wayland.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "graphene",
|
|
||||||
"buildsystem": "meson",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"--libdir=/app/lib",
|
|
||||||
"-Dtests=false",
|
|
||||||
"-Dbenchmarks=false"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/ebassi/graphene.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "gtk",
|
|
||||||
"buildsystem": "meson",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"--libdir=/app/lib"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://gitlab.gnome.org/GNOME/gtk.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
"app-id": "org.gtk.WidgetFactory4",
|
|
||||||
"runtime": "org.gnome.Platform",
|
|
||||||
"runtime-version": "master",
|
|
||||||
"sdk": "org.gnome.Sdk",
|
|
||||||
"command": "gtk4-widget-factory",
|
|
||||||
"tags": ["devel", "development", "nightly"],
|
|
||||||
"desktop-file-name-prefix": "(Development) ",
|
|
||||||
"finish-args": [
|
|
||||||
"--device=dri",
|
|
||||||
"--share=ipc",
|
|
||||||
"--socket=fallback-x11",
|
|
||||||
"--socket=wayland",
|
|
||||||
"--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*"
|
|
||||||
],
|
|
||||||
"cleanup": [
|
|
||||||
"/include",
|
|
||||||
"/lib/pkgconfig", "/share/pkgconfig",
|
|
||||||
"/share/aclocal",
|
|
||||||
"/man", "/share/man", "/share/gtk-doc",
|
|
||||||
"*.la", ".a",
|
|
||||||
"/lib/girepository-1.0",
|
|
||||||
"/share/gir-1.0",
|
|
||||||
"/share/doc"
|
|
||||||
],
|
|
||||||
"modules": [
|
|
||||||
{
|
|
||||||
"name" : "wayland",
|
|
||||||
"buildsystem" : "autotools",
|
|
||||||
"builddir" : true,
|
|
||||||
"config-opts" : [
|
|
||||||
"--disable-documentation"
|
|
||||||
],
|
|
||||||
"sources" : [
|
|
||||||
{
|
|
||||||
"type" : "git",
|
|
||||||
"url" : "https://github.com/wayland-project/wayland.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "graphene",
|
|
||||||
"buildsystem": "meson",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"--libdir=/app/lib",
|
|
||||||
"-Dtests=false",
|
|
||||||
"-Dbenchmarks=false"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/ebassi/graphene.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "gtk",
|
|
||||||
"buildsystem": "meson",
|
|
||||||
"builddir": true,
|
|
||||||
"config-opts": [
|
|
||||||
"--libdir=/app/lib"
|
|
||||||
],
|
|
||||||
"sources": [
|
|
||||||
{
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://gitlab.gnome.org/GNOME/gtk.git"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,31 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
if 'DESTDIR' not in os.environ:
|
|
||||||
gtk_api_version = sys.argv[1]
|
|
||||||
gtk_abi_version = sys.argv[2]
|
|
||||||
gtk_libdir = sys.argv[3]
|
|
||||||
gtk_datadir = sys.argv[4]
|
|
||||||
|
|
||||||
gtk_moduledir = os.path.join(gtk_libdir, 'gtk-' + gtk_api_version, gtk_abi_version)
|
|
||||||
gtk_printmodule_dir = os.path.join(gtk_moduledir, 'printbackends')
|
|
||||||
gtk_immodule_dir = os.path.join(gtk_moduledir, 'immodules')
|
|
||||||
|
|
||||||
print('Compiling GSettings schemas...')
|
|
||||||
subprocess.call(['glib-compile-schemas',
|
|
||||||
os.path.join(gtk_datadir, 'glib-2.0', 'schemas')])
|
|
||||||
|
|
||||||
print('Updating icon cache...')
|
|
||||||
subprocess.call(['gtk4-update-icon-cache', '-q', '-t' ,'-f',
|
|
||||||
os.path.join(gtk_datadir, 'icons', 'hicolor')])
|
|
||||||
|
|
||||||
print('Updating module cache for print backends...')
|
|
||||||
os.makedirs(gtk_printmodule_dir, exist_ok=True)
|
|
||||||
subprocess.call(['gio-querymodules', gtk_printmodule_dir])
|
|
||||||
|
|
||||||
print('Updating module cache for input methods...')
|
|
||||||
os.makedirs(gtk_immodule_dir, exist_ok=True)
|
|
||||||
subprocess.call(['gio-querymodules', gtk_immodule_dir])
|
|
4
build/Makefile.am
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
include $(top_srcdir)/Makefile.decl
|
||||||
|
|
||||||
|
SUBDIRS = \
|
||||||
|
win32
|
4
build/win32/Makefile.am
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
include $(top_srcdir)/Makefile.decl
|
||||||
|
|
||||||
|
SUBDIRS = \
|
||||||
|
vs9
|
16
build/win32/vs9/Makefile.am
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
include $(top_srcdir)/Makefile.decl
|
||||||
|
|
||||||
|
EXTRA_DIST += \
|
||||||
|
README.txt \
|
||||||
|
gtk+.sln \
|
||||||
|
gtk+.vsprops \
|
||||||
|
gdk-pixbuf.vcproj \
|
||||||
|
gdk-pixbuf-csource.vcproj \
|
||||||
|
gdk-pixbuf-query-loaders.vcproj \
|
||||||
|
gdk-win32.vcproj \
|
||||||
|
gdk.vcproj \
|
||||||
|
gdk.vcprojin \
|
||||||
|
gtk.vcproj \
|
||||||
|
gtk.vcprojin \
|
||||||
|
gtk-demo.vcproj \
|
||||||
|
install.vcproj
|
22
build/win32/vs9/README.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Note that all this is rather experimental.
|
||||||
|
|
||||||
|
This VS9 solution and the projects it includes are intented to be used
|
||||||
|
in a GTK+ source tree unpacked from a tarball. In a git checkout you
|
||||||
|
first need to use some Unix-like environment or manual work to expand
|
||||||
|
the files needed, like config.h.win32.in into config.h.win32 and the
|
||||||
|
.vcprojin files here into corresponding actual .vcproj files.
|
||||||
|
|
||||||
|
You will need the parts from below in the GTK+ stack: pango, atk and
|
||||||
|
glib. External dependencies are at least zlib, libpng, proxy-libintl,
|
||||||
|
fontconfig, freetype, expat. See the corresponding README.txt file in
|
||||||
|
glib for details where to unpack them.
|
||||||
|
|
||||||
|
The "install" project will copy build results and headers into their
|
||||||
|
appropriate location under <root>\vs9\<PlatformName>. For instance,
|
||||||
|
built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
|
||||||
|
<root>\vs9\<PlatformName>\lib and GTK+ headers into
|
||||||
|
<root>\vs9\<PlatformName>\include\gtk-2.0. This is then from where
|
||||||
|
project files higher in the stack are supposed to look for them, not
|
||||||
|
from a specific GLib source tree.
|
||||||
|
|
||||||
|
--Tor Lillqvist <tml@iki.fi>
|
166
build/win32/vs9/gdk-pixbuf-csource.vcproj
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="9,00"
|
||||||
|
Name="gdk-pixbuf-csource"
|
||||||
|
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}"
|
||||||
|
RootNamespace="gdkpixbufcsource"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
TargetFrameworkVersion="131072"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
|
>
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-csource.c" />
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
166
build/win32/vs9/gdk-pixbuf-query-loaders.vcproj
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="9.00"
|
||||||
|
Name="gdk-pixbuf-query-loaders"
|
||||||
|
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}"
|
||||||
|
RootNamespace="gdkpixbufqueryloaders"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
TargetFrameworkVersion="131072"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
PreprocessorDefinitions="_DEBUG;GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND;$(GtkPrefixDefine);$(GdkPixbufLibdirDefine)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
PreprocessorDefinitions="_DEBUG;GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
|
>
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\queryloaders.c" />
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
258
build/win32/vs9/gdk-pixbuf.vcproj
Normal file
@@ -0,0 +1,258 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="9.00"
|
||||||
|
Name="gdk_pixbuf"
|
||||||
|
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}"
|
||||||
|
RootNamespace="gdk_pixbuf"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
TargetFrameworkVersion="0"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GdkPixbufDefines)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="libpng.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gdk-pixbuf.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="$(GdkPixbufDefines)"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="libpng.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gdk-pixbuf.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GdkPixbufDefines)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="libpng.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gdk-pixbuf.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="$(GdkPixbufDefines)"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="libpng.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gdk-pixbuf.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||||
|
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||||
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf.symbols"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gdk-pixbuf.def"
|
||||||
|
CommandLine="$(GtkGenerateGdkPixbufDef)"
|
||||||
|
Outputs="$(IntDir)\gdk-pixbuf.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gdk-pixbuf.def"
|
||||||
|
CommandLine="$(GtkGenerateGdkPixbufDef)"
|
||||||
|
Outputs="$(IntDir)\gdk-pixbuf.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gdk-pixbuf.def"
|
||||||
|
CommandLine="$(GtkGenerateGdkPixbufDef)"
|
||||||
|
Outputs="$(IntDir)\gdk-pixbuf.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gdk-pixbuf.def"
|
||||||
|
CommandLine="$(GtkGenerateGdkPixbufDef)"
|
||||||
|
Outputs="$(IntDir)\gdk-pixbuf.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
|
>
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-aliasdef.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-animation.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-data.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-enum-types.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-io.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-loader.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-scale.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-scaled-anim.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-simple-anim.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixbuf-util.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\gdk-pixdata.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-ani.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-ani-animation.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-utils.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-animation.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-bmp.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-emf.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-gif.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-ico.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-jpeg.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-tiff.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gdip-wmf.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-gif-animation.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-icns.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-pcx.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-png.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-pnm.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-ras.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-tga.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-wbmp.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-xbm.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\io-xpm.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk-pixbuf\pixops\pixops.c" />
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
</VisualStudioProject>
|
152
build/win32/vs9/gdk-win32.vcproj
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="9.00"
|
||||||
|
Name="gdk-win32"
|
||||||
|
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}"
|
||||||
|
RootNamespace="gdkwin32"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
TargetFrameworkVersion="0"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="4"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="4"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="$(GdkDefines);INSIDE_GDK_WIN32"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="4"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="4"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="$(GdkDefines);INSIDE_GDK_WIN32"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||||
|
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
|
>
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkapplaunchcontext-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkcolor-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkcursor-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkdisplay-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkdnd-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkdrawable-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkevents-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkfont-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkgc-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkgeometry-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkglobals-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkim-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkinput-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkinput.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkkeys-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkmain-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkpixmap-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkproperty-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkscreen-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkselection-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkspawn-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdktestutils-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkvisual-win32.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkwin32id.c" />
|
||||||
|
<File RelativePath="..\..\..\gdk\win32\gdkwindow-win32.c" />
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
</VisualStudioProject>
|
220
build/win32/vs9/gdk.vcprojin
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="9.00"
|
||||||
|
Name="gdk"
|
||||||
|
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}"
|
||||||
|
RootNamespace="gdk"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
TargetFrameworkVersion="0"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib imm32.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gdk.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="$(GdkDefines)"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gdk.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gdk.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="$(GdkDefines)"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gdk.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||||
|
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||||
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\gdk\gdk.symbols"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gdk.def"
|
||||||
|
CommandLine="$(GtkGenerateGdkDef)"
|
||||||
|
Outputs="$(IntDir)\gdk.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gdk.def"
|
||||||
|
CommandLine="$(GtkGenerateGdkDef)"
|
||||||
|
Outputs="$(IntDir)\gdk.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gdk.def"
|
||||||
|
CommandLine="$(GtkGenerateGdkDef)"
|
||||||
|
Outputs="$(IntDir)\gdk.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gdk.def"
|
||||||
|
CommandLine="$(GtkGenerateGdkDef)"
|
||||||
|
Outputs="$(IntDir)\gdk.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
|
>
|
||||||
|
#include "libgdk.sourcefiles"
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
</VisualStudioProject>
|
122
build/win32/vs9/gtk+.sln
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||||
|
# Visual Studio 2008
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf", "gdk-pixbuf.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf-csource", "gdk-pixbuf-csource.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf-query-loaders", "gdk-pixbuf-query-loaders.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-win32", "gdk-win32.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk", "gdk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-demo", "gtk-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|x64.Build.0 = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|x64.Build.0 = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|x64.Build.0 = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|x64.Build.0 = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|x64.Build.0 = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|x64.Build.0 = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.Build.0 = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.Build.0 = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
389
build/win32/vs9/gtk+.vsprops
Normal file
@@ -0,0 +1,389 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioPropertySheet
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="8.00"
|
||||||
|
Name="gtk+props"
|
||||||
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
|
||||||
|
IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0"
|
||||||
|
PreprocessorDefinitions="HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES"
|
||||||
|
ForcedIncludeFiles="msvc_recommended_pragmas.h"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="gio-2.0.lib gmodule-2.0.lib gobject-2.0.lib glib-2.0.lib intl.lib"
|
||||||
|
AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
CommandLine="
|
||||||
|
if exist ..\..\..\config.h goto DONE_CONFIG_H

|
||||||
|
copy ..\..\..\config.h.win32 ..\..\..\config.h

|
||||||
|
:DONE_CONFIG_H

|
||||||
|
|
||||||
|
if exist ..\..\..\gdk\gdkconfig.h goto DONE_GDKCONFIG_H

|
||||||
|
copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h

|
||||||
|
:DONE_GDKCONFIG_H

|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkApiVersion"
|
||||||
|
Value="3.0"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkBinaryVersion"
|
||||||
|
Value="2.10.0"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkDummyPrefix"
|
||||||
|
Value="/dummy"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkPrefixDefine"
|
||||||
|
Value="GTK_PREFIX=\"$(GtkDummyPrefix)\""
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GdkPixbufIncludedLoaderDefines"
|
||||||
|
Value="INCLUDE_ani;INCLUDE_icns;INCLUDE_pcx;INCLUDE_ras;INCLUDE_tga;INCLUDE_png;INCLUDE_pnm;INCLUDE_wbmp;INCLUDE_xbm;INCLUDE_xpm;INCLUDE_gdiplus"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GdkPixbufDefines"
|
||||||
|
Value="GDK_PIXBUF_COMPILATION;GDK_PIXBUF_ENABLE_BACKEND;$(GtkPrefixDefine);$(GdkPixbufIncludedLoaderDefines)"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GdkPixbufLibdirDefine"
|
||||||
|
Value="PIXBUF_LIBDIR=\"$(GtkDummyPrefix)/lib/gtk-$(GtkApiVersion)/$(GtkBinaryVersion)/loaders\""
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GdkDefines"
|
||||||
|
Value="GDK_COMPILATION;G_LOG_DOMAIN=\"Gdk\""
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkIncludedImmodulesDefines"
|
||||||
|
Value="INCLUDE_IM_am_et;INCLUDE_IM_cedilla;INCLUDE_IM_cyrillic_translit;INCLUDE_IM_ime;INCLUDE_IM_inuktitut;INCLUDE_IM_ipa;INCLUDE_IM_multipress;INCLUDE_IM_thai;INCLUDE_IM_ti_er;INCLUDE_IM_ti_et;INCLUDE_IM_viqr"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkDefines"
|
||||||
|
Value="GTK_COMPILATION;G_LOG_DOMAIN=\"Gtk\";GTK_HOST=\"i686-pc-vs9\";GTK_PRINT_BACKENDS=\"file\";GTK_PRINT_PREVIEW_COMMAND=\"undefined-gtk-print-preview-command\";$(GtkIncludedImmodulesDefines);GTK_LIBDIR=\"$(GtkDummyPrefix)/lib\";GTK_DATADIR=\"$(GtkDummyPrefix)/share\"GTK_DATA_PREFIX=\"$(GtkDummyPrefix)\";GTK_SYSCONFDIR=\"$(GtkDummyPrefix)/etc\";MULTIPRESS_CONFDIR=\"$(GtkDummyPrefix)/etc/gtk-$(GtkApiVersion)\";MULTIPRESS_LOCALEDIR=\"$(GtkDummyPrefix)/share/locale\";GTK_VERSION=\"$(GtkVersion)/etc\";GTK_BINARY_VERSION=\"$(GtkBinaryVersion)/etc\";GDK_DISABLE_DEPRECATED"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkDoInstall"
|
||||||
|
Value="
|
||||||
|
echo on

|
||||||
|
mkdir $(OutDir)\bin

|
||||||
|
copy $(ConfigurationName)\$(PlatformName)\bin\*.dll $(OutDir)\bin

|
||||||
|
copy $(ConfigurationName)\$(PlatformName)\bin\*.exe $(OutDir)\bin

|
||||||
|
|
||||||
|
mkdir $(OutDir)\lib

|
||||||
|
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(GtkApiVersion).lib $(OutDir)\lib

|
||||||
|
|
||||||
|
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-animation.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-core.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-enum-types.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-features.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-io.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-loader.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-marshal.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-simple-anim.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf-transform.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixbuf.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
copy ..\..\..\gdk-pixbuf\gdk-pixdata.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk-pixbuf

|
||||||
|
|
||||||
|
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdk.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkapplaunchcontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkcairo.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkcolor.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkcursor.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkdisplay.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkdisplaymanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkdnd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkdrawable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkenumtypes.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkevents.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkfont.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkgc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdki18n.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkinput.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkkeys.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkkeysyms.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkpango.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkpixbuf.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkpixmap.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkprivate.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkproperty.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkregion.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkrgb.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkscreen.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkselection.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkspawn.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdktestutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdktypes.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkvisual.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\win32\gdkwin32.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
copy ..\..\..\gdk\gdkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk

|
||||||
|
|
||||||
|
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtk.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkaboutdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkaccelgroup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkaccellabel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkaccelmap.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkaccessible.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkactiongroup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkactivatable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkadjustment.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkalignment.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkarrow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkaspectframe.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkassistant.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkbin.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkbindings.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkbuildable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkbuilder.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcalendar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcelleditable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcelllayout.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellrenderer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellrendereraccel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellrenderercombo.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellrendererprogress.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellrendererspin.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellrenderertext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcellview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcheckbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcheckmenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkclipboard.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkclist.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcolorbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcolorsel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcolorseldialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcombo.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcombobox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcomboboxentry.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcontainer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkctree.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkcurve.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkdebug.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkdnd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkdrawingarea.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkeditable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkentry.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkentrybuffer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkentrycompletion.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkenums.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkeventbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkexpander.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfilechooser.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfilechooserbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfilechooserdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfilechooserwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfilefilter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfilesel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfixed.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfontbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkfontsel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkframe.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkgamma.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkgc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhandlebox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhscrollbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhseparator.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkhsv.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkiconfactory.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkicontheme.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkiconview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkimage.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkimagemenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkimcontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkimcontextsimple.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkimmodule.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkimmulticontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkinfobar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkinputdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkinvisible.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkitemfactory.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtklabel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtklayout.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtklinkbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtklist.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtklistitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkliststore.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmain.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmarshal.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmenu.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmenubar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmenushell.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmenutoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmessagedialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmisc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmodules.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkmountoperation.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtknotebook.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkobject.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkoldeditable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkoptionmenu.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkorientable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkpagesetup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkpapersize.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkpixmap.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkplug.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkpreview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkprintcontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkprintoperation.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkprintoperationpreview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkprintsettings.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkprivate.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkprogress.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkprogressbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkradioaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkradiobutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkradiomenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkradiotoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrange.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrecentaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrecentchooser.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrecentfilter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkrecentmanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkscalebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkscrollbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkscrolledwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkselection.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkseparator.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkseparatormenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkseparatortoolitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtksettings.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkshow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtksignal.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtksizegroup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtksocket.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkspinbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkstatusbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkstatusicon.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkstock.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkstyle.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktearoffmenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktestutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktextbuffer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktextbufferrichtext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktextchild.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktextdisplay.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktextiter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktextlayout.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktextmark.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktexttag.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktexttagtable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktextview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktipsquery.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktoggleaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktogglebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktoggletoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktoolbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktoolitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktoolshell.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktooltip.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktooltips.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktree.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreednd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreeitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreemodel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreemodelfilter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreemodelsort.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreeselection.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreesortable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreestore.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreeview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktreeviewcolumn.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktypebuiltins.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtktypeutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkuimanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkvbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkvbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkversion.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkviewport.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkvolumebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkvpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkvruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkvscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkvscrollbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkvseparator.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
copy ..\..\..\gtk\gtkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk

|
||||||
|
|
||||||
|
mkdir $(OutDir)\lib\gtk-$(GtkApiVersion)\include

|
||||||
|
copy ..\..\..\gdk\gdkconfig.h $(OutDir)\lib\gtk-$(GtkApiVersion)\include

|
||||||
|
|
||||||
|
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(GtkApiVersion).lib $(OutDir)\lib

|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkGenerateGdkPixbufDef"
|
||||||
|
Value="echo EXPORTS >"$(IntDir)\gdk-pixbuf.def" && cl /EP -DG_OS_WIN32 -DINCLUDE_VARIABLES -DALL_FILES -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= ..\..\..\gdk-pixbuf\gdk-pixbuf.symbols >>"$(IntDir)\gdk-pixbuf.def""
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkGenerateGdkDef"
|
||||||
|
Value="echo EXPORTS >"$(IntDir)\gdk.def" && cl /EP -DGDK_WINDOWING_WIN32 -DALL_FILES -DG_GNUC_CONST= ..\..\..\gdk\gdk.symbols >>"$(IntDir)\gdk.def""
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkGenerateGtkDef"
|
||||||
|
Value="echo EXPORTS >"$(IntDir)\gtk.def" && cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_PRINTF=;G_GNUC_PRINTF ..\..\..\gtk\gtk.symbols >>"$(IntDir)\gtk.def""
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkLibtoolCompatibleDllPrefix"
|
||||||
|
Value="lib"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkLibtoolCompatibleDllSuffix"
|
||||||
|
Value="-$(GtkApiVersion)-0"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkSeparateVS9DllPrefix"
|
||||||
|
Value=""
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkSeparateVS9DllSuffix"
|
||||||
|
Value="-2-vs9"
|
||||||
|
/>
|
||||||
|
<!-- Change these two to GtkLibtoolCompatibleDllPrefix and
|
||||||
|
GtkLibtoolCompatibleDllSuffix if that is what you want -->
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkDllPrefix"
|
||||||
|
Value="$(GtkLibtoolCompatibleDllPrefix)"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GtkDllSuffix"
|
||||||
|
Value="$(GtkLibtoolCompatibleDllSuffix)"
|
||||||
|
/>
|
||||||
|
<UserMacro
|
||||||
|
Name="GlibEtcInstallRoot"
|
||||||
|
Value="..\..\..\..\..\vs9\$(PlatformName)"
|
||||||
|
/>
|
||||||
|
</VisualStudioPropertySheet>
|
209
build/win32/vs9/gtk-demo.vcproj
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="9.00"
|
||||||
|
Name="gtk-demo"
|
||||||
|
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
|
||||||
|
RootNamespace="gtkdemo"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
TargetFrameworkVersion="131072"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
|
||||||
|
PreprocessorDefinitions="$(GtkPrefixDefine)"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
|
||||||
|
PreprocessorDefinitions="$(GtkPrefixDefine)"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
CompileAs="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
|
>
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\appwindow.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\assistant.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\builder.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\button_box.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\changedisplay.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\clipboard.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\colorsel.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\combobox.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\dialog.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\drawingarea.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\editable_cells.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\entry_buffer.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\entry_completion.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\expander.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\hypertext.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\iconview.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\iconview_edit.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\images.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\infobar.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\links.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\list_store.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\main.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\menus.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window2.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\panes.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\pickers.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\pixbufs.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\printing.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\rotated_text.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\search_entry.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\sizegroup.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\spinner.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\stock_browser.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\textscroll.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\textview.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\toolpalette.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\tree_store.c" />
|
||||||
|
<File RelativePath="..\..\..\demos\gtk-demo\ui_manager.c" />
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
<Globals>
|
||||||
|
</Globals>
|
||||||
|
</VisualStudioProject>
|
235
build/win32/vs9/gtk.vcprojin
Normal file
@@ -0,0 +1,235 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="9.00"
|
||||||
|
Name="gtk"
|
||||||
|
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
|
||||||
|
RootNamespace="gtk"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
TargetFrameworkVersion="0"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GtkDefines)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gtk.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="$(GtkDefines)"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gtk.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="_DEBUG;$(GtkDefines)"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gtk.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
|
||||||
|
PreprocessorDefinitions="$(GtkDefines)"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
|
||||||
|
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
ModuleDefinitionFile="$(IntDir)\gtk.def"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
ImportLibrary="$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
<References>
|
||||||
|
</References>
|
||||||
|
<Files>
|
||||||
|
<Filter
|
||||||
|
Name="Header Files"
|
||||||
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
|
>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Resource Files"
|
||||||
|
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||||
|
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||||
|
>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\..\gdk\gtk.symbols"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gtk.def"
|
||||||
|
CommandLine="$(GtkGenerateGtkDef)"
|
||||||
|
Outputs="$(IntDir)\gtk.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gtk.def"
|
||||||
|
CommandLine="$(GtkGenerateGtkDef)"
|
||||||
|
Outputs="$(IntDir)\gtk.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gtk.def"
|
||||||
|
CommandLine="$(GtkGenerateGtkDef)"
|
||||||
|
Outputs="$(IntDir)\gtk.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Generating gtk.def"
|
||||||
|
CommandLine="$(GtkGenerateGtkDef)"
|
||||||
|
Outputs="$(IntDir)\gtk.def"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
|
</Filter>
|
||||||
|
<Filter
|
||||||
|
Name="Source Files"
|
||||||
|
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||||
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
|
>
|
||||||
|
#include "libgtk.sourcefiles"
|
||||||
|
<File RelativePath="..\..\..\modules\input\gtkimcontextime.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\gtkimcontextmultipress.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\gtkimcontextthai.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imam-et.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imcedilla.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imcyrillic-translit.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imime.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\iminuktitut.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imipa.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\immultipress.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imthai.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imti-er.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imti-et.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\imviqr.c" />
|
||||||
|
<File RelativePath="..\..\..\modules\input\thai-charprop.c" />
|
||||||
|
</Filter>
|
||||||
|
</Files>
|
||||||
|
</VisualStudioProject>
|
78
build/win32/vs9/install.vcproj
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
|
<VisualStudioProject
|
||||||
|
ProjectType="Visual C++"
|
||||||
|
Version="9.00"
|
||||||
|
Name="install"
|
||||||
|
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
|
||||||
|
RootNamespace="install"
|
||||||
|
Keyword="Win32Proj"
|
||||||
|
TargetFrameworkVersion="131072"
|
||||||
|
>
|
||||||
|
<Platforms>
|
||||||
|
<Platform
|
||||||
|
Name="Win32"
|
||||||
|
/>
|
||||||
|
<Platform
|
||||||
|
Name="x64"
|
||||||
|
/>
|
||||||
|
</Platforms>
|
||||||
|
<ToolFiles>
|
||||||
|
</ToolFiles>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
OutputDirectory="$(GlibEtcInstallRoot)"
|
||||||
|
|
||||||
|
ConfigurationType="10"
|
||||||
|
CharacterSet="2"
|
||||||
|
DeleteExtensionsOnClean=""
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
CommandLine="$(GtkDoInstall)"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
OutputDirectory="$(GlibEtcInstallRoot)"
|
||||||
|
ConfigurationType="10"
|
||||||
|
CharacterSet="2"
|
||||||
|
DeleteExtensionsOnClean=""
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
CommandLine="$(GtkDoInstall)"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
OutputDirectory="$(GlibEtcInstallRoot)"
|
||||||
|
ConfigurationType="10"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
DeleteExtensionsOnClean=""
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
CommandLine="$(GtkDoInstall)"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|x64"
|
||||||
|
InheritedPropertySheets=".\gtk+.vsprops"
|
||||||
|
OutputDirectory="$(GlibEtcInstallRoot)"
|
||||||
|
ConfigurationType="10"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
DeleteExtensionsOnClean=""
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
CommandLine="$(GtkDoInstall)"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
</Configurations>
|
||||||
|
</VisualStudioProject>
|
307
config.h.meson
@@ -1,307 +0,0 @@
|
|||||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
|
||||||
|
|
||||||
/* always defined to indicate that i18n is enabled */
|
|
||||||
#define ENABLE_NLS 1
|
|
||||||
|
|
||||||
/* The prefix for our gettext translation domains. */
|
|
||||||
#mesondefine GETTEXT_PACKAGE
|
|
||||||
|
|
||||||
/* Disable deprecation warnings from glib */
|
|
||||||
#mesondefine GLIB_DISABLE_DEPRECATION_WARNINGS
|
|
||||||
|
|
||||||
/* Define the location where the catalogs will be installed */
|
|
||||||
#mesondefine GTK_LOCALEDIR
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
|
|
||||||
#mesondefine HAVE_BIND_TEXTDOMAIN_CODESET
|
|
||||||
|
|
||||||
/* Have the cloudproviders library */
|
|
||||||
#mesondefine HAVE_CLOUDPROVIDERS
|
|
||||||
|
|
||||||
/* define if we have colord */
|
|
||||||
#mesondefine HAVE_COLORD
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <crt_externs.h> header file. */
|
|
||||||
#mesondefine HAVE_CRT_EXTERNS_H
|
|
||||||
|
|
||||||
/* Define to 1 if CUPS 1.6 API is available */
|
|
||||||
#mesondefine HAVE_CUPS_API_1_6
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `dcgettext' function. */
|
|
||||||
#mesondefine HAVE_DCGETTEXT
|
|
||||||
|
|
||||||
/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
|
|
||||||
*/
|
|
||||||
#mesondefine HAVE_DECL_ISINF
|
|
||||||
|
|
||||||
/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
|
|
||||||
*/
|
|
||||||
#mesondefine HAVE_DECL_ISNAN
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
||||||
#mesondefine HAVE_DLFCN_H
|
|
||||||
|
|
||||||
/* Have the ffmpeg library */
|
|
||||||
#mesondefine HAVE_FFMPEG
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <ftw.h> header file. */
|
|
||||||
#mesondefine HAVE_FTW_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `getpagesize' function. */
|
|
||||||
#mesondefine HAVE_GETPAGESIZE
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `getresuid' function. */
|
|
||||||
#mesondefine HAVE_GETRESUID
|
|
||||||
|
|
||||||
/* Define if gio-unix is available */
|
|
||||||
#mesondefine HAVE_GIO_UNIX
|
|
||||||
|
|
||||||
/* Define if GStreamer support is available */
|
|
||||||
#mesondefine HAVE_GSTREAMER
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `httpGetAuthString' function. */
|
|
||||||
#mesondefine HAVE_HTTPGETAUTHSTRING
|
|
||||||
|
|
||||||
/* Define if cups http_t authstring field is accessible */
|
|
||||||
#mesondefine HAVE_HTTP_AUTHSTRING
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
||||||
#mesondefine HAVE_INTTYPES_H
|
|
||||||
|
|
||||||
/* Define to 1 if the system has the type `IPrintDialogCallback'. */
|
|
||||||
#mesondefine HAVE_IPRINTDIALOGCALLBACK
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <locale.h> header file. */
|
|
||||||
#mesondefine HAVE_LOCALE_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `lstat' function. */
|
|
||||||
#mesondefine HAVE_LSTAT
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `mallinfo' function. */
|
|
||||||
#mesondefine HAVE_MALLINFO
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <memory.h> header file. */
|
|
||||||
#mesondefine HAVE_MEMORY_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `mkstemp' function. */
|
|
||||||
#mesondefine HAVE_MKSTEMP
|
|
||||||
|
|
||||||
/* Define to 1 if you have a working `mmap' system call. */
|
|
||||||
#mesondefine HAVE_MMAP
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `nearbyint' function. */
|
|
||||||
#mesondefine HAVE_NEARBYINT
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `posix_fallocate' function. */
|
|
||||||
#mesondefine HAVE_POSIX_FALLOCATE
|
|
||||||
|
|
||||||
/* Have the Xrandr extension library */
|
|
||||||
#mesondefine HAVE_RANDR
|
|
||||||
|
|
||||||
/* Have the Xrandr 1.5 extension library */
|
|
||||||
#mesondefine HAVE_RANDR15
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `rint' function. */
|
|
||||||
#mesondefine HAVE_RINT
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `round' function. */
|
|
||||||
#mesondefine HAVE_ROUND
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `sincos' function. */
|
|
||||||
#mesondefine HAVE_SINCOS
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `log2` function */
|
|
||||||
#mesondefine HAVE_LOG2
|
|
||||||
|
|
||||||
/* Define to 1 if you ahve the `exp2` function */
|
|
||||||
#mesondefine HAVE_EXP2
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <stdint.h> header file. */
|
|
||||||
#mesondefine HAVE_STDINT_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
||||||
#mesondefine HAVE_STDLIB_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <strings.h> header file. */
|
|
||||||
#mesondefine HAVE_STRINGS_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <string.h> header file. */
|
|
||||||
#mesondefine HAVE_STRING_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <sys/mman.h> header file. */
|
|
||||||
#mesondefine HAVE_SYS_MMAN_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <sys/param.h> header file. */
|
|
||||||
#mesondefine HAVE_SYS_PARAM_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
||||||
#mesondefine HAVE_SYS_STAT_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <sys/time.h> header file. */
|
|
||||||
#mesondefine HAVE_SYS_TIME_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
||||||
#mesondefine HAVE_SYS_TYPES_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <unistd.h> header file. */
|
|
||||||
#mesondefine HAVE_UNISTD_H
|
|
||||||
|
|
||||||
/* Have the XCOMPOSITE X extension */
|
|
||||||
#mesondefine HAVE_XCOMPOSITE
|
|
||||||
|
|
||||||
/* Have the Xcursor library */
|
|
||||||
#mesondefine HAVE_XCURSOR
|
|
||||||
|
|
||||||
/* Have the XDAMAGE X extension */
|
|
||||||
#mesondefine HAVE_XDAMAGE
|
|
||||||
|
|
||||||
/* Have the XFIXES X extension */
|
|
||||||
#mesondefine HAVE_XFIXES
|
|
||||||
|
|
||||||
/* Define to 1 if XFree Xinerama is available */
|
|
||||||
#mesondefine HAVE_XFREE_XINERAMA
|
|
||||||
|
|
||||||
/* Have XGenericEvent */
|
|
||||||
#mesondefine HAVE_XGENERICEVENTS
|
|
||||||
|
|
||||||
/* Define to use XKB extension */
|
|
||||||
#mesondefine HAVE_XKB
|
|
||||||
|
|
||||||
/* Have the SYNC extension library */
|
|
||||||
#mesondefine HAVE_XSYNC
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `_lock_file' function */
|
|
||||||
#mesondefine HAVE__LOCK_FILE
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `flockfile' function */
|
|
||||||
#mesondefine HAVE_FLOCKFILE
|
|
||||||
|
|
||||||
/* Define if _NL_MEASUREMENT_MEASUREMENT is available */
|
|
||||||
#mesondefine HAVE__NL_MEASUREMENT_MEASUREMENT
|
|
||||||
|
|
||||||
/* Define if _NL_PAPER_HEIGHT is available */
|
|
||||||
#mesondefine HAVE__NL_PAPER_HEIGHT
|
|
||||||
|
|
||||||
/* Define if _NL_PAPER_WIDTH is available */
|
|
||||||
#mesondefine HAVE__NL_PAPER_WIDTH
|
|
||||||
|
|
||||||
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
|
|
||||||
#mesondefine HAVE__NL_TIME_FIRST_WEEKDAY
|
|
||||||
|
|
||||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
|
||||||
#mesondefine LT_OBJDIR
|
|
||||||
|
|
||||||
/* Define if <X11/extensions/XIproto.h> needed for xReply */
|
|
||||||
#mesondefine NEED_XIPROTO_H_FOR_XREPLY
|
|
||||||
|
|
||||||
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
|
|
||||||
#mesondefine NO_MINUS_C_MINUS_O
|
|
||||||
|
|
||||||
/* Define to the address where bug reports for this package should be sent. */
|
|
||||||
#mesondefine PACKAGE_BUGREPORT
|
|
||||||
|
|
||||||
/* Define to the full name of this package. */
|
|
||||||
#mesondefine PACKAGE_NAME
|
|
||||||
|
|
||||||
/* Define to the full name and version of this package. */
|
|
||||||
#mesondefine PACKAGE_STRING
|
|
||||||
|
|
||||||
/* Define to the one symbol short name of this package. */
|
|
||||||
#mesondefine PACKAGE_TARNAME
|
|
||||||
|
|
||||||
/* Define to the home page for this package. */
|
|
||||||
#mesondefine PACKAGE_URL
|
|
||||||
|
|
||||||
/* Define to the version of this package. */
|
|
||||||
#mesondefine PACKAGE_VERSION
|
|
||||||
|
|
||||||
/* Use NSBundle functions to determine load paths for libraries, translations,
|
|
||||||
etc. */
|
|
||||||
#mesondefine QUARTZ_RELOCATION
|
|
||||||
|
|
||||||
/* Define to 1 if you have the ANSI C header files. */
|
|
||||||
#mesondefine STDC_HEADERS
|
|
||||||
|
|
||||||
/* Enable extensions on AIX 3, Interix. */
|
|
||||||
#ifndef _ALL_SOURCE
|
|
||||||
# undef _ALL_SOURCE
|
|
||||||
#endif
|
|
||||||
/* Enable GNU extensions on systems that have them. */
|
|
||||||
#ifndef _GNU_SOURCE
|
|
||||||
# undef _GNU_SOURCE
|
|
||||||
#endif
|
|
||||||
/* Enable threading extensions on Solaris. */
|
|
||||||
#ifndef _POSIX_PTHREAD_SEMANTICS
|
|
||||||
# undef _POSIX_PTHREAD_SEMANTICS
|
|
||||||
#endif
|
|
||||||
/* Enable extensions on HP NonStop. */
|
|
||||||
#ifndef _TANDEM_SOURCE
|
|
||||||
# undef _TANDEM_SOURCE
|
|
||||||
#endif
|
|
||||||
/* Enable general extensions on Solaris. */
|
|
||||||
#ifndef __EXTENSIONS__
|
|
||||||
# undef __EXTENSIONS__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Define to 1 if XInput 2.0 is available */
|
|
||||||
#mesondefine XINPUT_2
|
|
||||||
|
|
||||||
/* Define to 1 if XInput 2.2 is available */
|
|
||||||
#mesondefine XINPUT_2_2
|
|
||||||
|
|
||||||
/* Define to 1 if the X Window System is missing or not being used. */
|
|
||||||
#mesondefine X_DISPLAY_MISSING
|
|
||||||
|
|
||||||
/* Enable large inode numbers on Mac OS X 10.5. */
|
|
||||||
#ifndef _DARWIN_USE_64_BIT_INODE
|
|
||||||
# define _DARWIN_USE_64_BIT_INODE 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
|
||||||
#mesondefine _FILE_OFFSET_BITS
|
|
||||||
|
|
||||||
/* defines how to decorate public symbols while building */
|
|
||||||
#mesondefine _GDK_EXTERN
|
|
||||||
|
|
||||||
/* Define for large files, on AIX-style hosts. */
|
|
||||||
#mesondefine _LARGE_FILES
|
|
||||||
|
|
||||||
/* Define to 1 if on MINIX. */
|
|
||||||
#mesondefine _MINIX
|
|
||||||
|
|
||||||
/* Define to 2 if the system does not provide POSIX.1 features except with
|
|
||||||
this defined. */
|
|
||||||
#mesondefine _POSIX_1_SOURCE
|
|
||||||
|
|
||||||
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
|
||||||
#mesondefine _POSIX_SOURCE
|
|
||||||
|
|
||||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
|
||||||
#mesondefine gid_t
|
|
||||||
|
|
||||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
|
||||||
#mesondefine uid_t
|
|
||||||
|
|
||||||
/* Define to 1 if linux/memfd.h exists */
|
|
||||||
#mesondefine HAVE_LINUX_MEMFD_H
|
|
||||||
|
|
||||||
#mesondefine HAVE_LINUX_INPUT_H
|
|
||||||
|
|
||||||
#mesondefine HAVE_DEV_EVDEV_INPUT_H
|
|
||||||
|
|
||||||
#mesondefine GTK_SYSCONFDIR
|
|
||||||
|
|
||||||
#mesondefine GTK_LOCALEDIR
|
|
||||||
|
|
||||||
#mesondefine GTK_DATADIR
|
|
||||||
|
|
||||||
#mesondefine GTK_LIBDIR
|
|
||||||
|
|
||||||
#mesondefine GTK_PRINT_BACKENDS
|
|
||||||
|
|
||||||
#mesondefine HAVE_HARFBUZZ
|
|
||||||
|
|
||||||
#mesondefine HAVE_PANGOFT
|
|
||||||
|
|
||||||
#mesondefine ISO_CODES_PREFIX
|
|
314
config.h.win32.in
Normal file
@@ -0,0 +1,314 @@
|
|||||||
|
/* config.h.win32.in. Merged from two versions generated by configure for gcc and MSVC. */
|
||||||
|
/* config.h. Generated from config.h.in by configure. */
|
||||||
|
/* config.h.in. Generated from configure.in by autoheader. */
|
||||||
|
|
||||||
|
/* always defined to indicate that i18n is enabled */
|
||||||
|
#define ENABLE_NLS 1
|
||||||
|
|
||||||
|
/* Define if gio can sniff image data */
|
||||||
|
/* #undef GDK_PIXBUF_USE_GIO_MIME */
|
||||||
|
|
||||||
|
/* The prefix for our gettext translation domains. */
|
||||||
|
#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
|
||||||
|
|
||||||
|
/* Define if debugging is enabled */
|
||||||
|
#define GTK_COMPILED_WITH_DEBUGGING "yes"
|
||||||
|
|
||||||
|
/* Define the location where the catalogs will be installed */
|
||||||
|
#define GTK_LOCALEDIR "NONE/share/locale"
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
|
||||||
|
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
|
||||||
|
|
||||||
|
/* Is the wctype implementation broken */
|
||||||
|
/* #undef HAVE_BROKEN_WCTYPE */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <crt_externs.h> header file. */
|
||||||
|
/* #undef HAVE_CRT_EXTERNS_H */
|
||||||
|
|
||||||
|
/* Define to 1 if CUPS 1.2 API is available */
|
||||||
|
/* #undef HAVE_CUPS_API_1_2 */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `dcgettext' function. */
|
||||||
|
#define HAVE_DCGETTEXT 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
|
/* #undef HAVE_DLFCN_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `flockfile' function. */
|
||||||
|
/* #undef HAVE_FLOCKFILE */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <ftw.h> header file. */
|
||||||
|
/* #undef HAVE_FTW_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getc_unlocked' function. */
|
||||||
|
/* #undef HAVE_GETC_UNLOCKED */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getpagesize' function. */
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
#define HAVE_GETPAGESIZE 1
|
||||||
|
#else
|
||||||
|
/* #undef HAVE_GETPAGESIZE */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getresuid' function. */
|
||||||
|
/* #undef HAVE_GETRESUID */
|
||||||
|
|
||||||
|
/* Define if the GNU gettext() function is already present or preinstalled. */
|
||||||
|
#define HAVE_GETTEXT 1
|
||||||
|
|
||||||
|
/* Have GNU ftw */
|
||||||
|
/* #undef HAVE_GNU_FTW */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `httpGetAuthString' function. */
|
||||||
|
/* #undef HAVE_HTTPGETAUTHSTRING */
|
||||||
|
|
||||||
|
/* Define if cups http_t authstring field is accessible */
|
||||||
|
/* #undef HAVE_HTTP_AUTHSTRING */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
#define HAVE_INTTYPES_H 1
|
||||||
|
#else
|
||||||
|
/* #undef HAVE_INTTYPES_H */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Define to 1 if ipc.h is available */
|
||||||
|
/* #undef HAVE_IPC_H */
|
||||||
|
|
||||||
|
/* Define if your <locale.h> file defines LC_MESSAGES. */
|
||||||
|
/* #undef HAVE_LC_MESSAGES */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <locale.h> header file. */
|
||||||
|
#define HAVE_LOCALE_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `localtime_r' function. */
|
||||||
|
/* #undef HAVE_LOCALTIME_R */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `lstat' function. */
|
||||||
|
/* #undef HAVE_LSTAT */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `mallinfo' function. */
|
||||||
|
/* #undef HAVE_MALLINFO */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#define HAVE_MEMORY_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `mkstemp' function. */
|
||||||
|
/* #undef HAVE_MKSTEMP */
|
||||||
|
|
||||||
|
/* Define to 1 if you have a working `mmap' system call. */
|
||||||
|
/* #undef HAVE_MMAP */
|
||||||
|
|
||||||
|
/* Define to 1 if libpapi available */
|
||||||
|
/* #undef HAVE_PAPI */
|
||||||
|
|
||||||
|
/* Define to 1 is libjpeg supports progressive JPEG */
|
||||||
|
/* #undef HAVE_PROGRESSIVE_JPEG */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <pwd.h> header file. */
|
||||||
|
/* #undef HAVE_PWD_H */
|
||||||
|
|
||||||
|
/* Have the Xrandr extension library */
|
||||||
|
/* #undef HAVE_RANDR */
|
||||||
|
|
||||||
|
/* Define to 1 if shm.h is available */
|
||||||
|
/* #undef HAVE_SHM_H */
|
||||||
|
|
||||||
|
/* Define to 1 if sigsetjmp is available */
|
||||||
|
/* #undef HAVE_SIGSETJMP */
|
||||||
|
|
||||||
|
/* Have the sockaddr_un.sun_len member */
|
||||||
|
/* #undef HAVE_SOCKADDR_UN_SUN_LEN */
|
||||||
|
|
||||||
|
/* Define to 1 if solaris xinerama is available */
|
||||||
|
/* #undef HAVE_SOLARIS_XINERAMA */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
#define HAVE_STDINT_H 1
|
||||||
|
#else
|
||||||
|
/* #undef HAVE_STDINT_H */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#define HAVE_STDLIB_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#define HAVE_STRINGS_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#define HAVE_STRING_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if sys/select.h is available */
|
||||||
|
/* #undef HAVE_SYS_SELECT_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#define HAVE_SYS_STAT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if sys/sysinfo.h is available */
|
||||||
|
/* #undef HAVE_SYS_SYSINFO_H */
|
||||||
|
|
||||||
|
/* Define to 1 if sys/systeminfo.h is available */
|
||||||
|
/* #undef HAVE_SYS_SYSTEMINFO_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
#define HAVE_SYS_TIME_H 1
|
||||||
|
#else /* _MSC_VER */
|
||||||
|
/* #undef HAVE_SYS_TIME_H */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#define HAVE_SYS_TYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
|
||||||
|
/* #undef HAVE_SYS_WAIT_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
#define HAVE_UNISTD_H 1
|
||||||
|
#else
|
||||||
|
/* #undef HAVE_UNISTD_H */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Have uxtheme.h include file */
|
||||||
|
#define HAVE_UXTHEME_H 1
|
||||||
|
|
||||||
|
/* Have wchar.h include file */
|
||||||
|
#define HAVE_WCHAR_H 1
|
||||||
|
|
||||||
|
/* Have wctype.h include file */
|
||||||
|
#define HAVE_WCTYPE_H 1
|
||||||
|
|
||||||
|
/* Define if we have X11R6 */
|
||||||
|
/* #undef HAVE_X11R6 */
|
||||||
|
|
||||||
|
/* Have the XCOMPOSITE X extension */
|
||||||
|
/* #undef HAVE_XCOMPOSITE */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `XConvertCase' function. */
|
||||||
|
/* #undef HAVE_XCONVERTCASE */
|
||||||
|
|
||||||
|
/* Have the Xcursor library */
|
||||||
|
/* #undef HAVE_XCURSOR */
|
||||||
|
|
||||||
|
/* Have the XDAMAGE X extension */
|
||||||
|
/* #undef HAVE_XDAMAGE */
|
||||||
|
|
||||||
|
/* Have the XFIXES X extension */
|
||||||
|
/* #undef HAVE_XFIXES */
|
||||||
|
|
||||||
|
/* Define to 1 if XFree Xinerama is available */
|
||||||
|
/* #undef HAVE_XFREE_XINERAMA */
|
||||||
|
|
||||||
|
/* Define to 1 if xinerama is available */
|
||||||
|
/* #undef HAVE_XINERAMA */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `XInternAtoms' function. */
|
||||||
|
/* #undef HAVE_XINTERNATOMS */
|
||||||
|
|
||||||
|
/* Define to use XKB extension */
|
||||||
|
/* #undef HAVE_XKB */
|
||||||
|
|
||||||
|
/* Define to 1 if xshm.h is available */
|
||||||
|
/* #undef HAVE_XSHM_H */
|
||||||
|
|
||||||
|
/* Have the SYNC extension library */
|
||||||
|
/* #undef HAVE_XSYNC */
|
||||||
|
|
||||||
|
/* Define if _NL_MEASUREMENT_MEASUREMENT is available */
|
||||||
|
/* #undef HAVE__NL_MEASUREMENT_MEASUREMENT */
|
||||||
|
|
||||||
|
/* Define if _NL_PAPER_HEIGHT is available */
|
||||||
|
/* #undef HAVE__NL_PAPER_HEIGHT */
|
||||||
|
|
||||||
|
/* Define if _NL_PAPER_WIDTH is available */
|
||||||
|
/* #undef HAVE__NL_PAPER_WIDTH */
|
||||||
|
|
||||||
|
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
|
||||||
|
/* #undef HAVE__NL_TIME_FIRST_WEEKDAY */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `_NSGetEnviron' function. */
|
||||||
|
/* #undef HAVE__NSGETENVIRON */
|
||||||
|
|
||||||
|
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||||
|
*/
|
||||||
|
#define LT_OBJDIR ".libs/"
|
||||||
|
|
||||||
|
/* Define if <X11/extensions/XIproto.h> needed for xReply */
|
||||||
|
/* #undef NEED_XIPROTO_H_FOR_XREPLY */
|
||||||
|
|
||||||
|
/* Define to 1 if fd_set is not available */
|
||||||
|
#define NO_FD_SET 1
|
||||||
|
|
||||||
|
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
/* #undef NO_MINUS_C_MINUS_O */
|
||||||
|
#else
|
||||||
|
#define NO_MINUS_C_MINUS_O 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B"
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#define PACKAGE_NAME "gtk+"
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#define PACKAGE_STRING "gtk+ @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@"
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#define PACKAGE_TARNAME "gtk+"
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#define PACKAGE_VERSION "@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@"
|
||||||
|
|
||||||
|
/* Define as the return type of signal handlers (`int' or `void'). */
|
||||||
|
#define RETSIGTYPE void
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
|
/* Define to 1 if gmodule works and should be used */
|
||||||
|
#define USE_GMODULE 1
|
||||||
|
|
||||||
|
/* Whether to load modules via .la files rather than directly */
|
||||||
|
/* #undef USE_LA_MODULES */
|
||||||
|
|
||||||
|
/* Define to 1 if medialib is available and should be used */
|
||||||
|
/* #undef USE_MEDIALIB */
|
||||||
|
|
||||||
|
/* Define to 1 if medialib 2.5 is available */
|
||||||
|
/* #undef USE_MEDIALIB25 */
|
||||||
|
|
||||||
|
/* Define to 1 if XXM is available and should be used */
|
||||||
|
#ifndef _MSC_VER
|
||||||
|
# define USE_MMX 1
|
||||||
|
#else
|
||||||
|
# undef USE_MMX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Define to 1 if no XInput should be used */
|
||||||
|
/* #undef XINPUT_NONE */
|
||||||
|
|
||||||
|
/* Define to 1 if XFree XInput should be used */
|
||||||
|
/* #undef XINPUT_XFREE */
|
||||||
|
|
||||||
|
/* Define to 1 if the X Window System is missing or not being used. */
|
||||||
|
/* #undef X_DISPLAY_MISSING */
|
||||||
|
|
||||||
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||||
|
/* #undef _FILE_OFFSET_BITS */
|
||||||
|
|
||||||
|
/* Define for large files, on AIX-style hosts. */
|
||||||
|
/* #undef _LARGE_FILES */
|
||||||
|
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
/* #undef const */
|
||||||
|
|
||||||
|
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||||
|
#define gid_t int
|
||||||
|
|
||||||
|
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||||
|
#define uid_t int
|
1692
configure.ac
Normal file
18
debian/README.debian
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
libgtk1 for Debian
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
The GIMP Tool Kit (gtk) is a set of widgets to help you program
|
||||||
|
programs for the X Windowing System easily and powerfully.
|
||||||
|
|
||||||
|
gtk is the moving force behind The GNU Image Manipulation Program (The
|
||||||
|
GIMP) -- the number one freely-available image editing and creation
|
||||||
|
program available.
|
||||||
|
|
||||||
|
gtk is rapidly under development, and the source tree has officially
|
||||||
|
been separated from The GIMP now, as other teams of programmers
|
||||||
|
are beginning to write software using its great widget set -- like
|
||||||
|
GNOME, a desktop interface for X, and gzilla, a freely available
|
||||||
|
web browser for X.
|
||||||
|
|
||||||
|
Ben Gertzfield <che@debian.org>, Mon, 29 Sep 1997 13:11:45 -0700
|
||||||
|
|
62
debian/build
vendored
Executable file
@@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
# Adjust debian/changelog and build a new
|
||||||
|
# Debian package of a CVS archive.
|
||||||
|
|
||||||
|
# Written 17 November 1998 by Ben Gertzfield
|
||||||
|
# <che@debian.org>
|
||||||
|
|
||||||
|
# This work is released under the GNU
|
||||||
|
# General Public License, version 2 or
|
||||||
|
# later.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use diagnostics;
|
||||||
|
use File::Copy;
|
||||||
|
|
||||||
|
my $maintainer = 'Ben Gertzfield <che@debian.org>';
|
||||||
|
|
||||||
|
my @date = localtime;
|
||||||
|
|
||||||
|
my $datestr = sprintf("%d%.2d%.2d", $date[5] + 1900, $date[4] + 1, $date[3]);
|
||||||
|
my $revision = '01';
|
||||||
|
|
||||||
|
open (CHANGELOG, 'debian/changelog') or die "Couldn't open debian/changelog: $!\n";
|
||||||
|
|
||||||
|
$_ = <CHANGELOG>;
|
||||||
|
chomp;
|
||||||
|
|
||||||
|
close CHANGELOG;
|
||||||
|
|
||||||
|
my ($package, $last_date, $last_revision) = /^(.*?) \((.*?)\.(.*)?\)/;
|
||||||
|
|
||||||
|
if ($last_date eq $datestr) {
|
||||||
|
$revision = sprintf("%.2d", $last_revision + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
my $new_version = "$datestr.$revision";
|
||||||
|
|
||||||
|
copy('debian/changelog', 'debian/changelog.old') or die "Couldn't copy debian/changelog to debian/changelog.old: $!\n";
|
||||||
|
|
||||||
|
open(NEWCHANGELOG, ">debian/changelog") or die "Couldn't open debian/changelog for writing: $!\n";
|
||||||
|
|
||||||
|
print NEWCHANGELOG "$package ($new_version) unstable; urgency=low\n\n * CVS snapshot build at " . scalar localtime() . "\n\n -- $maintainer " . `date -R` . "\n";
|
||||||
|
|
||||||
|
open(OLDCHANGELOG, "debian/changelog.old") or die "Couldn't open debian/changelog.old: $!\n";
|
||||||
|
|
||||||
|
while (<OLDCHANGELOG>) {
|
||||||
|
print NEWCHANGELOG;
|
||||||
|
}
|
||||||
|
|
||||||
|
close OLDCHANGELOG;
|
||||||
|
close NEWCHANGELOG;
|
||||||
|
|
||||||
|
unlink('debian/changelog.old') or die "Couldn't unlink debian/changelog.old: $!\n";
|
||||||
|
|
||||||
|
open(NEWVERSION, '>debian/version') or die "Couldn't open debian/version for writing: $!\n";
|
||||||
|
print NEWVERSION "$new_version\n";
|
||||||
|
close NEWVERSION;
|
||||||
|
|
||||||
|
system('dpkg-buildpackage -b -rfakeroot -us -uc');
|
||||||
|
unlink 'debian/version' or die "Couldn't unlink debian/version: $!\n";
|
||||||
|
|
10
debian/changelog
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
gtk+-cvs (19981116.01) unstable; urgency=low
|
||||||
|
|
||||||
|
* First test build from CVS
|
||||||
|
|
||||||
|
-- Ben Gertzfield <che@debian.org> Tue, 17 Nov 1998 12:02:13 -0800
|
||||||
|
|
||||||
|
Local variables:
|
||||||
|
mode: debian-changelog
|
||||||
|
add-log-mailing-address: "che@debian.org"
|
||||||
|
End:
|
81
debian/control
vendored
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
Source: gtk+-cvs
|
||||||
|
Priority: extra
|
||||||
|
Section: libs
|
||||||
|
Maintainer: Ben Gertzfield <che@debian.org>
|
||||||
|
Standards-Version: 2.4.0.0
|
||||||
|
|
||||||
|
Package: libgtk-cvs-1.1
|
||||||
|
Architecture: any
|
||||||
|
Section: libs
|
||||||
|
Depends: ${shlibs:Depends}
|
||||||
|
Conflicts: libgtk-dev (<< 1:1.0.2), libgtk1.1
|
||||||
|
Description: CVS build of the GIMP Toolkit set of widgets for X
|
||||||
|
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
|
||||||
|
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
|
||||||
|
.
|
||||||
|
The GIMP Toolkit is a freely available set of widgets for X.
|
||||||
|
GTK is easy to use, and has been implemented in such projects as
|
||||||
|
The GNU Image Manipulation Program (The GIMP), GNOME, a GNU
|
||||||
|
desktop set of utilities for X, and gzilla, a GNU web-browser.
|
||||||
|
.
|
||||||
|
This is the unstable 1.1 branch of GTK. It is not intended for use
|
||||||
|
with stable projects!
|
||||||
|
|
||||||
|
Package: libgtk-cvs-dev
|
||||||
|
Architecture: any
|
||||||
|
Section: devel
|
||||||
|
Depends: libgtk-cvs-1.1 (=${Source-Version}), libglib-cvs-dev
|
||||||
|
Suggests: libgtk-cvs-doc
|
||||||
|
Provides: libgtk1.1-dev
|
||||||
|
Replaces: libgtk1.1-dev
|
||||||
|
Conflicts: libgtk-dev, libgtk1 (<< 1:1.0.4), libgtk1.1-dev
|
||||||
|
Description: CVS build of development files for the GIMP Toolkit
|
||||||
|
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
|
||||||
|
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
|
||||||
|
.
|
||||||
|
This package contains the header files and static libraries for the
|
||||||
|
GIMP Toolkit set of widgets for X.
|
||||||
|
.
|
||||||
|
This is the unstable, 1.1 branch of GTK+. This is not intended for
|
||||||
|
use with stable releases of programs!
|
||||||
|
.
|
||||||
|
Install this package if you wish to develop your own X programs using
|
||||||
|
the GIMP Toolkit 1.1, or if you wish to compile your own plug-ins for
|
||||||
|
The GIMP.
|
||||||
|
|
||||||
|
Package: libgtk-cvs-doc
|
||||||
|
Architecture: all
|
||||||
|
Section: doc
|
||||||
|
Conflicts: libgtk-dev (<< 1:0.99.4), libgtk-doc, libgtk1.1-doc
|
||||||
|
Description: CVS build of documentation for the GIMP Toolkit
|
||||||
|
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
|
||||||
|
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
|
||||||
|
.
|
||||||
|
This package contains lots of info-files, HTML docs, FAQs, and
|
||||||
|
other handy documentation about the GIMP Toolkit set of widgets
|
||||||
|
for X.
|
||||||
|
.
|
||||||
|
This package documents the unstable 1.1 release of the GIMP Toolkit.
|
||||||
|
.
|
||||||
|
Install this package if you want to have lots of info about the
|
||||||
|
GIMP toolkit when you're programming.
|
||||||
|
|
||||||
|
Package: libgtk-cvs-dbg
|
||||||
|
Architecture: any
|
||||||
|
Section: devel
|
||||||
|
Depends: libgtk-cvs-1.1 (= ${Source-Version}), libgtk-cvs-dev (= ${Source-Version})
|
||||||
|
Suggests: libgtk-cvs-doc
|
||||||
|
Conflicts: libgtk1.1-dbg
|
||||||
|
Description: CVS build of debugging files for the GIMP Toolkit
|
||||||
|
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
|
||||||
|
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
|
||||||
|
.
|
||||||
|
This package contains the debugging static libraries for the
|
||||||
|
GIMP Toolkit set of widgets for X.
|
||||||
|
.
|
||||||
|
This is the unstable, 1.1 branch of GTK+. This is not intended for
|
||||||
|
use with stable releases of programs!
|
||||||
|
.
|
||||||
|
Install this package if you wish to debug your own X programs using
|
||||||
|
the GIMP Toolkit 1.1, or if you wish to debug your own plug-ins for
|
||||||
|
The GIMP.
|
8
debian/copyright
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
This package was debianized by Ben Gertzfield <che@debian.org> on
|
||||||
|
Tue, 17 Nov 1998 12:07:17 -0800
|
||||||
|
|
||||||
|
It was produced from the CVS repository at cvs.gimp.org.
|
||||||
|
|
||||||
|
It may be redistributed under the terms of the GNU LGPL, Version 2 or
|
||||||
|
later, found on Debian systems in the file /usr/doc/copyright/LGPL.
|
||||||
|
|
9
debian/libgtk-cvs-dev.files
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
usr/lib/libgdk.so
|
||||||
|
usr/lib/libgdk.a
|
||||||
|
usr/lib/libgtk.so
|
||||||
|
usr/lib/libgtk.a
|
||||||
|
usr/include/gdk/
|
||||||
|
usr/include/gtk/
|
||||||
|
usr/bin/gtk-config
|
||||||
|
usr/man/man1/gtk-config.1
|
||||||
|
usr/share/aclocal/gtk.m4
|
5
debian/libgtk-cvs-dev.postinst
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
#DEBHELPER#
|
6
debian/libgtk-cvs-dev.prerm
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
install-info --quiet --remove gtk
|
||||||
|
|
||||||
|
#DEBHELPER#
|
8
debian/libgtk-cvs-doc.files
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
usr/info/gdk.info
|
||||||
|
usr/info/gtk.info
|
||||||
|
usr/info/gtk.info-1
|
||||||
|
usr/info/gtk.info-2
|
||||||
|
usr/info/gtk.info-3
|
||||||
|
usr/info/gtk.info-4
|
||||||
|
usr/info/gtk.info-5
|
||||||
|
|
11
debian/libgtk-cvs-doc.postinst
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
install-info --quiet --description="The GIMP Toolkit." \
|
||||||
|
--section "The GIMP" "The GIMP" /usr/info/gtk.info.gz
|
||||||
|
|
||||||
|
install-info --quiet --description="The GIMP Drawing Kit." \
|
||||||
|
--section "The GIMP" "The GIMP" /usr/info/gdk.info.gz
|
||||||
|
|
||||||
|
#DEBHELPER#
|
7
debian/libgtk-cvs-doc.prerm
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
install-info --quiet --remove gtk
|
||||||
|
install-info --quiet --remove gdk
|
||||||
|
|
||||||
|
#DEBHELPER#
|
7
debian/postinst
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
ldconfig
|
||||||
|
|
||||||
|
#DEBHELPER#
|
160
debian/rules
vendored
Executable file
@@ -0,0 +1,160 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
# debian/rules file for gtk+ Debian package
|
||||||
|
# written April 1998 by Ben Gertzfield <che@debian.org
|
||||||
|
|
||||||
|
build: build-stamp
|
||||||
|
build-stamp:
|
||||||
|
dh_testdir
|
||||||
|
./autogen.sh --prefix=/usr --with-xinput=xfree
|
||||||
|
$(MAKE)
|
||||||
|
cd docs && make distdocs
|
||||||
|
cd ..
|
||||||
|
touch build-stamp
|
||||||
|
|
||||||
|
build-dbg: build-dbg-stamp
|
||||||
|
build-dbg-stamp:
|
||||||
|
dh_testdir
|
||||||
|
./configure --prefix=/usr --with-xinput=xfree --enable-debug=yes
|
||||||
|
$(MAKE)
|
||||||
|
touch build-dbg-stamp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp build-dbg-stamp install-stamp install-dbg-stamp
|
||||||
|
# Add here commands to clean up after the build process.
|
||||||
|
-$(MAKE) clean
|
||||||
|
cd docs
|
||||||
|
-$(MAKE) maintainer-clean
|
||||||
|
cd ..
|
||||||
|
-$(MAKE) distclean
|
||||||
|
find . -name '*.o' -o -name '_libs' -o -name '*.lo' -o -name '*.a' -o -name '.deps' | xargs rm -rf
|
||||||
|
dh_clean
|
||||||
|
|
||||||
|
clean-dbg:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp build-dbg-stamp install-stamp install-dbg-stamp
|
||||||
|
# Add here commands to clean up after the build process.
|
||||||
|
-$(MAKE) clean
|
||||||
|
cd docs
|
||||||
|
-$(MAKE) maintainer-clean
|
||||||
|
cd ..
|
||||||
|
-$(MAKE) distclean
|
||||||
|
find . -name '*.o' -o -name '_libs' -o -name '*.lo' -o -name '*.a' -o -name '.deps' | xargs rm -rf
|
||||||
|
dh_clean -k
|
||||||
|
|
||||||
|
install: install-stamp
|
||||||
|
install-stamp: build
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean
|
||||||
|
$(MAKE) prefix=`pwd`/debian/tmp/usr install
|
||||||
|
touch install-stamp
|
||||||
|
|
||||||
|
install-dbg: install-dbg-stamp
|
||||||
|
install-dbg-stamp: build-dbg
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
$(MAKE) prefix=`pwd`/debian/libgtk-cvs-dbg/usr install
|
||||||
|
touch install-dbg-stamp
|
||||||
|
|
||||||
|
# Build architecture-independent files here.
|
||||||
|
binary-indep: build install libgtk-cvs-doc
|
||||||
|
# We have nothing to do by default.
|
||||||
|
|
||||||
|
# Build architecture-dependent files here.
|
||||||
|
binary-arch: build install libgtk-cvs-dev libgtk-cvs-1.1 libgtk-cvs-dbg
|
||||||
|
|
||||||
|
libgtk-cvs-1.1: build
|
||||||
|
dh_testdir -plibgtk-cvs-1.1
|
||||||
|
dh_testroot -plibgtk-cvs-1.1
|
||||||
|
dh_installdirs -plibgtk-cvs-1.1
|
||||||
|
# Add here commands to install the files into debian/tmp
|
||||||
|
rm -rf debian/tmp/usr/bin debian/tmp/usr/include debian/tmp/usr/info debian/tmp/usr/lib/glib debian/tmp/usr/share/aclocal debian/tmp/usr/man debian/tmp/usr/lib/*.la
|
||||||
|
dh_installdocs -plibgtk-cvs-1.1
|
||||||
|
dh_installchangelogs -plibgtk-cvs-1.1
|
||||||
|
dh_strip -plibgtk-cvs-1.1
|
||||||
|
dh_compress -plibgtk-cvs-1.1
|
||||||
|
dh_fixperms -plibgtk-cvs-1.1
|
||||||
|
dh_installdeb -plibgtk-cvs-1.1
|
||||||
|
dh_shlibdeps -plibgtk-cvs-1.1
|
||||||
|
dh_gencontrol -plibgtk-cvs-1.1
|
||||||
|
dh_makeshlibs -plibgtk-cvs-1.1 -V 'libgtk-cvs-1.1 (='`cat debian/version`')'
|
||||||
|
dh_md5sums -plibgtk-cvs-1.1
|
||||||
|
dh_builddeb -plibgtk-cvs-1.1
|
||||||
|
|
||||||
|
libgtk-cvs-dev: build
|
||||||
|
dh_testdir -plibgtk-cvs-dev
|
||||||
|
dh_testroot -plibgtk-cvs-dev
|
||||||
|
dh_clean -plibgtk-cvs-dev -k
|
||||||
|
dh_installdirs -plibgtk-cvs-dev
|
||||||
|
# Add here commands to install the files into debian/tmp
|
||||||
|
dh_movefiles -plibgtk-cvs-dev
|
||||||
|
cp gtk-config debian/tmp/usr/bin
|
||||||
|
dh_installdocs -plibgtk-cvs-dev
|
||||||
|
dh_installchangelogs -plibgtk-cvs-dev
|
||||||
|
dh_strip -plibgtk-cvs-dev
|
||||||
|
dh_compress -plibgtk-cvs-dev
|
||||||
|
dh_fixperms -plibgtk-cvs-dev
|
||||||
|
dh_installdeb -plibgtk-cvs-dev
|
||||||
|
dh_shlibdeps -plibgtk-cvs-dev
|
||||||
|
dh_gencontrol -plibgtk-cvs-dev
|
||||||
|
dh_md5sums -plibgtk-cvs-dev
|
||||||
|
dh_builddeb -plibgtk-cvs-dev
|
||||||
|
|
||||||
|
libgtk-cvs-doc:
|
||||||
|
dh_testdir -plibgtk-cvs-doc
|
||||||
|
dh_testroot -plibgtk-cvs-doc
|
||||||
|
dh_clean -plibgtk-cvs-doc -k
|
||||||
|
dh_installdirs -plibgtk-cvs-doc usr/doc/libgtk-cvs-doc/faq-html \
|
||||||
|
usr/doc/libgtk-cvs-doc/tutorial-html usr/doc/libgtk-cvs-doc/italian-tutorial-html usr/doc/libgtk-cvs-doc/french-tutorial-html usr/doc/libgtk-cvs-doc/gdk-html
|
||||||
|
dh_movefiles -plibgtk-cvs-doc
|
||||||
|
cp docs/html/gtkfaq*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/faq-html
|
||||||
|
cp docs/html/gtk_tut-*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
|
||||||
|
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
|
||||||
|
cp docs/html/gtk_tut.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
|
||||||
|
cp docs/html/gtk_tut_it*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/italian-tutorial-html
|
||||||
|
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/italian-tutorial-html
|
||||||
|
cp docs/html/gtk_tut_fr*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/french-tutorial-html
|
||||||
|
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/french-tutorial-html
|
||||||
|
cp docs/html/gdk* debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/gdk-html
|
||||||
|
cp docs/text/*.txt debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/
|
||||||
|
|
||||||
|
dh_installdocs -plibgtk-cvs-doc docs/{debugging,developers,styles,text_widget,widget_system,gtk-config,refcounting}.txt TODO NEWS
|
||||||
|
dh_installchangelogs -plibgtk-cvs-doc
|
||||||
|
dh_strip -plibgtk-cvs-doc
|
||||||
|
dh_compress -plibgtk-cvs-doc
|
||||||
|
dh_fixperms -plibgtk-cvs-doc
|
||||||
|
dh_installdeb -plibgtk-cvs-doc
|
||||||
|
dh_shlibdeps -plibgtk-cvs-doc
|
||||||
|
dh_gencontrol -plibgtk-cvs-doc
|
||||||
|
dh_md5sums -plibgtk-cvs-doc
|
||||||
|
dh_builddeb -plibgtk-cvs-doc
|
||||||
|
|
||||||
|
libgtk-cvs-dbg: clean-dbg install-dbg
|
||||||
|
dh_testdir -plibgtk-cvs-dbg
|
||||||
|
dh_testroot -plibgtk-cvs-dbg
|
||||||
|
dh_installdirs -plibgtk-cvs-dbg
|
||||||
|
# Add here commands to install the files into debian/libgtk-cvs-dbg
|
||||||
|
rm -rf debian/libgtk-cvs-dbg/usr/bin debian/libgtk-cvs-dbg/usr/include debian/libgtk-cvs-dbg/usr/info debian/libgtk-cvs-dbg/usr/lib/glib debian/libgtk-cvs-dbg/usr/man debian/libgtk-cvs-dbg/usr/share debian/libgtk-cvs-dbg/usr/lib/*.{la,so*}
|
||||||
|
for file in `find debian/libgtk-cvs-dbg/usr/lib -name '*.a'` ; do \
|
||||||
|
mv $$file debian/libgtk-cvs-dbg/usr/lib/`basename $$file .a`_g.a; \
|
||||||
|
done
|
||||||
|
dh_installdocs -plibgtk-cvs-dbg
|
||||||
|
dh_installchangelogs -plibgtk-cvs-dbg
|
||||||
|
dh_compress -plibgtk-cvs-dbg
|
||||||
|
dh_fixperms -plibgtk-cvs-dbg
|
||||||
|
dh_installdeb -plibgtk-cvs-dbg
|
||||||
|
dh_shlibdeps -plibgtk-cvs-dbg
|
||||||
|
dh_gencontrol -plibgtk-cvs-dbg
|
||||||
|
dh_md5sums -plibgtk-cvs-dbg
|
||||||
|
dh_builddeb -plibgtk-cvs-dbg
|
||||||
|
|
||||||
|
source diff:
|
||||||
|
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary
|
60
demos/Makefile.am
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
## Makefile.am for gtk+/demos
|
||||||
|
include $(top_srcdir)/Makefile.decl
|
||||||
|
|
||||||
|
SUBDIRS = gtk-demo
|
||||||
|
|
||||||
|
INCLUDES = \
|
||||||
|
-I$(top_srcdir) \
|
||||||
|
-I$(top_builddir)/gdk \
|
||||||
|
-DGDK_DISABLE_DEPRECATED \
|
||||||
|
-DGTK_DISABLE_DEPRECATED \
|
||||||
|
$(GTK_DEBUG_FLAGS) \
|
||||||
|
$(GTK_DEP_CFLAGS)
|
||||||
|
|
||||||
|
DEPS = \
|
||||||
|
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||||
|
$(top_builddir)/gtk/$(gtktargetlib)
|
||||||
|
|
||||||
|
LDADDS = \
|
||||||
|
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||||
|
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||||
|
$(GTK_DEP_LIBS) \
|
||||||
|
$(MATH_LIB)
|
||||||
|
|
||||||
|
noinst_PROGRAMS = \
|
||||||
|
testanimation \
|
||||||
|
testpixbuf-color \
|
||||||
|
testpixbuf-save \
|
||||||
|
testpixbuf-scale \
|
||||||
|
pixbuf-demo
|
||||||
|
|
||||||
|
testpixbuf_save_DEPENDENCIES = $(DEPS)
|
||||||
|
testpixbuf_color_DEPENDENCIES = $(DEPS)
|
||||||
|
testpixbuf_scale_DEPENDENCIES = $(DEPS)
|
||||||
|
testanimation_DEPENDENCIES = $(DEPS)
|
||||||
|
pixbuf_demo_DEPENDENCIES = $(DEPS)
|
||||||
|
|
||||||
|
testpixbuf_save_LDADD = $(LDADDS)
|
||||||
|
testpixbuf_color_LDADD = $(LDADDS)
|
||||||
|
testpixbuf_scale_LDADD = $(LDADDS)
|
||||||
|
testanimation_LDADD = $(LDADDS)
|
||||||
|
pixbuf_demo_LDADD = $(LDADDS)
|
||||||
|
|
||||||
|
testpixbuf_save_SOURCES = testpixbuf-save.c
|
||||||
|
testpixbuf_color_SOURCES = testpixbuf-color.c
|
||||||
|
testpixbuf_scale_SOURCES = testpixbuf-scale.c pixbuf-init.c
|
||||||
|
testanimation_SOURCES = testanimation.c pixbuf-init.c
|
||||||
|
pixbuf_demo_SOURCES = pixbuf-demo.c pixbuf-init.c
|
||||||
|
|
||||||
|
EXTRA_DIST += \
|
||||||
|
apple-red.png \
|
||||||
|
background.jpg \
|
||||||
|
gnome-applets.png \
|
||||||
|
gnome-calendar.png \
|
||||||
|
gnome-foot.png \
|
||||||
|
gnome-gimp.png \
|
||||||
|
gnome-gmush.png \
|
||||||
|
gnome-gsame.png \
|
||||||
|
gnu-keys.png
|
||||||
|
|
||||||
|
-include $(top_srcdir)/git.mk
|
BIN
demos/apple-red.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
demos/background.jpg
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
demos/gnome-applets.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
demos/gnome-calendar.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
demos/gnome-foot.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
demos/gnome-gimp.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
demos/gnome-gmush.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
demos/gnome-gsame.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
demos/gnu-keys.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
107
demos/gtk-demo/Makefile.am
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
## Makefile.am for gtk+/demos
|
||||||
|
include $(top_srcdir)/Makefile.decl
|
||||||
|
|
||||||
|
democodedir=$(datadir)/gtk-$(GTK_API_VERSION)/demo
|
||||||
|
|
||||||
|
## These should be in the order you want them to appear in the
|
||||||
|
## demo app, which means alphabetized by demo title, not filename
|
||||||
|
demos = \
|
||||||
|
appwindow.c \
|
||||||
|
assistant.c \
|
||||||
|
builder.c \
|
||||||
|
button_box.c \
|
||||||
|
changedisplay.c \
|
||||||
|
clipboard.c \
|
||||||
|
colorsel.c \
|
||||||
|
combobox.c \
|
||||||
|
dialog.c \
|
||||||
|
drawingarea.c \
|
||||||
|
editable_cells.c \
|
||||||
|
entry_buffer.c \
|
||||||
|
entry_completion.c \
|
||||||
|
expander.c \
|
||||||
|
hypertext.c \
|
||||||
|
iconview.c \
|
||||||
|
iconview_edit.c \
|
||||||
|
images.c \
|
||||||
|
infobar.c \
|
||||||
|
links.c \
|
||||||
|
list_store.c \
|
||||||
|
menus.c \
|
||||||
|
offscreen_window.c \
|
||||||
|
offscreen_window2.c \
|
||||||
|
panes.c \
|
||||||
|
pickers.c \
|
||||||
|
pixbufs.c \
|
||||||
|
printing.c \
|
||||||
|
rotated_text.c \
|
||||||
|
search_entry.c \
|
||||||
|
sizegroup.c \
|
||||||
|
spinner.c \
|
||||||
|
stock_browser.c \
|
||||||
|
textview.c \
|
||||||
|
textscroll.c \
|
||||||
|
toolpalette.c \
|
||||||
|
tree_store.c \
|
||||||
|
ui_manager.c
|
||||||
|
|
||||||
|
INCLUDES = \
|
||||||
|
-DDEMOCODEDIR="\"$(democodedir)\"" \
|
||||||
|
-I$(top_srcdir) \
|
||||||
|
-I$(top_builddir)/gdk \
|
||||||
|
-DGDK_DISABLE_DEPRECATED \
|
||||||
|
-DGTK_DISABLE_DEPRECATED \
|
||||||
|
$(GTK_DEBUG_FLAGS) \
|
||||||
|
$(GTK_DEP_CFLAGS)
|
||||||
|
|
||||||
|
DEPS = \
|
||||||
|
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||||
|
$(top_builddir)/gtk/$(gtktargetlib)
|
||||||
|
|
||||||
|
LDADDS = \
|
||||||
|
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||||
|
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||||
|
$(GTK_DEP_LIBS) \
|
||||||
|
-lm
|
||||||
|
|
||||||
|
bin_PROGRAMS = gtk3-demo
|
||||||
|
|
||||||
|
BUILT_SOURCES = demos.h
|
||||||
|
|
||||||
|
EXTRA_DIST += \
|
||||||
|
$(IMAGEFILES) \
|
||||||
|
demo.ui
|
||||||
|
|
||||||
|
demos.h: @REBUILD@ $(demos) geninclude.pl
|
||||||
|
(here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
|
||||||
|
|
||||||
|
gtk3_demo_SOURCES = \
|
||||||
|
$(demos) \
|
||||||
|
demo-common.h \
|
||||||
|
main.c \
|
||||||
|
demos.h
|
||||||
|
|
||||||
|
gtk3_demo_DEPENDENCIES = $(DEPS)
|
||||||
|
gtk3_demo_LDADD = $(LDADDS)
|
||||||
|
gtk3_demo_LDFLAGS = -export-dynamic
|
||||||
|
|
||||||
|
IMAGEFILES= alphatest.png \
|
||||||
|
apple-red.png \
|
||||||
|
background.jpg \
|
||||||
|
floppybuddy.gif \
|
||||||
|
gnome-applets.png \
|
||||||
|
gnome-calendar.png \
|
||||||
|
gnome-fs-directory.png \
|
||||||
|
gnome-fs-regular.png \
|
||||||
|
gnome-foot.png \
|
||||||
|
gnome-gimp.png \
|
||||||
|
gnome-gmush.png \
|
||||||
|
gnome-gsame.png \
|
||||||
|
gnu-keys.png \
|
||||||
|
gtk-logo-rgb.gif
|
||||||
|
|
||||||
|
democode_DATA = $(demos) $(IMAGEFILES) demo.ui
|
||||||
|
|
||||||
|
DISTCLEANFILES = demos.h
|
||||||
|
|
||||||
|
-include $(top_srcdir)/git.mk
|
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,549 +0,0 @@
|
|||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
|
||||||
|
|
||||||
typedef GtkApplication DemoApplication;
|
|
||||||
typedef GtkApplicationClass DemoApplicationClass;
|
|
||||||
|
|
||||||
G_DEFINE_TYPE (DemoApplication, demo_application, GTK_TYPE_APPLICATION)
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
GtkApplicationWindow parent_instance;
|
|
||||||
|
|
||||||
GtkWidget *message;
|
|
||||||
GtkWidget *infobar;
|
|
||||||
GtkWidget *status;
|
|
||||||
GtkWidget *menutool;
|
|
||||||
GMenuModel *toolmenu;
|
|
||||||
GtkTextBuffer *buffer;
|
|
||||||
|
|
||||||
int width;
|
|
||||||
int height;
|
|
||||||
gboolean maximized;
|
|
||||||
gboolean fullscreen;
|
|
||||||
} DemoApplicationWindow;
|
|
||||||
typedef GtkApplicationWindowClass DemoApplicationWindowClass;
|
|
||||||
|
|
||||||
G_DEFINE_TYPE (DemoApplicationWindow, demo_application_window, GTK_TYPE_APPLICATION_WINDOW)
|
|
||||||
|
|
||||||
static void create_window (GApplication *app, const char *contents);
|
|
||||||
|
|
||||||
static void
|
|
||||||
show_action_dialog (GSimpleAction *action)
|
|
||||||
{
|
|
||||||
const gchar *name;
|
|
||||||
GtkWidget *dialog;
|
|
||||||
|
|
||||||
name = g_action_get_name (G_ACTION (action));
|
|
||||||
|
|
||||||
dialog = gtk_message_dialog_new (NULL,
|
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
|
||||||
GTK_MESSAGE_INFO,
|
|
||||||
GTK_BUTTONS_CLOSE,
|
|
||||||
"You activated action: \"%s\"",
|
|
||||||
name);
|
|
||||||
|
|
||||||
g_signal_connect (dialog, "response",
|
|
||||||
G_CALLBACK (gtk_widget_destroy), NULL);
|
|
||||||
|
|
||||||
gtk_widget_show (dialog);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
show_action_infobar (GSimpleAction *action,
|
|
||||||
GVariant *parameter,
|
|
||||||
gpointer data)
|
|
||||||
{
|
|
||||||
DemoApplicationWindow *window = data;
|
|
||||||
gchar *text;
|
|
||||||
const gchar *name;
|
|
||||||
const gchar *value;
|
|
||||||
|
|
||||||
name = g_action_get_name (G_ACTION (action));
|
|
||||||
value = g_variant_get_string (parameter, NULL);
|
|
||||||
|
|
||||||
text = g_strdup_printf ("You activated radio action: \"%s\".\n"
|
|
||||||
"Current value: %s", name, value);
|
|
||||||
gtk_label_set_text (GTK_LABEL (window->message), text);
|
|
||||||
gtk_widget_show (window->infobar);
|
|
||||||
g_free (text);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate_action (GSimpleAction *action,
|
|
||||||
GVariant *parameter,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
show_action_dialog (action);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate_new (GSimpleAction *action,
|
|
||||||
GVariant *parameter,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
GApplication *app = user_data;
|
|
||||||
|
|
||||||
create_window (app, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
open_response_cb (GtkNativeDialog *dialog,
|
|
||||||
gint response_id,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
GtkFileChooserNative *native = user_data;
|
|
||||||
GApplication *app = g_object_get_data (G_OBJECT (native), "app");
|
|
||||||
GtkWidget *message_dialog;
|
|
||||||
GFile *file;
|
|
||||||
char *contents;
|
|
||||||
GError *error = NULL;
|
|
||||||
|
|
||||||
if (response_id == GTK_RESPONSE_ACCEPT)
|
|
||||||
{
|
|
||||||
file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (native));
|
|
||||||
|
|
||||||
if (g_file_load_contents (file, NULL, &contents, NULL, NULL, &error))
|
|
||||||
{
|
|
||||||
create_window (app, contents);
|
|
||||||
g_free (contents);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
message_dialog = gtk_message_dialog_new (NULL,
|
|
||||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
|
||||||
GTK_MESSAGE_ERROR,
|
|
||||||
GTK_BUTTONS_CLOSE,
|
|
||||||
"Error loading file: \"%s\"",
|
|
||||||
error->message);
|
|
||||||
g_signal_connect (message_dialog, "response",
|
|
||||||
G_CALLBACK (gtk_widget_destroy), NULL);
|
|
||||||
gtk_widget_show (message_dialog);
|
|
||||||
g_error_free (error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_native_dialog_destroy (GTK_NATIVE_DIALOG (native));
|
|
||||||
g_object_unref (native);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate_open (GSimpleAction *action,
|
|
||||||
GVariant *parameter,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
GApplication *app = user_data;
|
|
||||||
GtkFileChooserNative *native;
|
|
||||||
|
|
||||||
native = gtk_file_chooser_native_new ("Open File",
|
|
||||||
NULL,
|
|
||||||
GTK_FILE_CHOOSER_ACTION_OPEN,
|
|
||||||
"_Open",
|
|
||||||
"_Cancel");
|
|
||||||
|
|
||||||
g_object_set_data_full (G_OBJECT (native), "app", g_object_ref (app), g_object_unref);
|
|
||||||
g_signal_connect (native,
|
|
||||||
"response",
|
|
||||||
G_CALLBACK (open_response_cb),
|
|
||||||
native);
|
|
||||||
|
|
||||||
gtk_native_dialog_show (GTK_NATIVE_DIALOG (native));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate_toggle (GSimpleAction *action,
|
|
||||||
GVariant *parameter,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
GVariant *state;
|
|
||||||
|
|
||||||
show_action_dialog (action);
|
|
||||||
|
|
||||||
state = g_action_get_state (G_ACTION (action));
|
|
||||||
g_action_change_state (G_ACTION (action), g_variant_new_boolean (!g_variant_get_boolean (state)));
|
|
||||||
g_variant_unref (state);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate_radio (GSimpleAction *action,
|
|
||||||
GVariant *parameter,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
show_action_infobar (action, parameter, user_data);
|
|
||||||
|
|
||||||
g_action_change_state (G_ACTION (action), parameter);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate_about (GSimpleAction *action,
|
|
||||||
GVariant *parameter,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
GtkWidget *window = user_data;
|
|
||||||
|
|
||||||
const gchar *authors[] = {
|
|
||||||
"Peter Mattis",
|
|
||||||
"Spencer Kimball",
|
|
||||||
"Josh MacDonald",
|
|
||||||
"and many more...",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
const gchar *documentors[] = {
|
|
||||||
"Owen Taylor",
|
|
||||||
"Tony Gale",
|
|
||||||
"Matthias Clasen <mclasen@redhat.com>",
|
|
||||||
"and many more...",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk_show_about_dialog (GTK_WINDOW (window),
|
|
||||||
"program-name", "GTK Code Demos",
|
|
||||||
"version", g_strdup_printf ("%s,\nRunning against GTK %d.%d.%d",
|
|
||||||
PACKAGE_VERSION,
|
|
||||||
gtk_get_major_version (),
|
|
||||||
gtk_get_minor_version (),
|
|
||||||
gtk_get_micro_version ()),
|
|
||||||
"copyright", "(C) 1997-2013 The GTK Team",
|
|
||||||
"license-type", GTK_LICENSE_LGPL_2_1,
|
|
||||||
"website", "http://www.gtk.org",
|
|
||||||
"comments", "Program to demonstrate GTK functions.",
|
|
||||||
"authors", authors,
|
|
||||||
"documenters", documentors,
|
|
||||||
"logo-icon-name", "org.gtk.Demo4",
|
|
||||||
"title", "About GTK Code Demos",
|
|
||||||
NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate_quit (GSimpleAction *action,
|
|
||||||
GVariant *parameter,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
GtkApplication *app = user_data;
|
|
||||||
GtkWidget *win;
|
|
||||||
GList *list, *next;
|
|
||||||
|
|
||||||
list = gtk_application_get_windows (app);
|
|
||||||
while (list)
|
|
||||||
{
|
|
||||||
win = list->data;
|
|
||||||
next = list->next;
|
|
||||||
|
|
||||||
gtk_widget_destroy (GTK_WIDGET (win));
|
|
||||||
|
|
||||||
list = next;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
update_statusbar (GtkTextBuffer *buffer,
|
|
||||||
DemoApplicationWindow *window)
|
|
||||||
{
|
|
||||||
gchar *msg;
|
|
||||||
gint row, col;
|
|
||||||
gint count;
|
|
||||||
GtkTextIter iter;
|
|
||||||
|
|
||||||
/* clear any previous message, underflow is allowed */
|
|
||||||
gtk_statusbar_pop (GTK_STATUSBAR (window->status), 0);
|
|
||||||
|
|
||||||
count = gtk_text_buffer_get_char_count (buffer);
|
|
||||||
|
|
||||||
gtk_text_buffer_get_iter_at_mark (buffer,
|
|
||||||
&iter,
|
|
||||||
gtk_text_buffer_get_insert (buffer));
|
|
||||||
|
|
||||||
row = gtk_text_iter_get_line (&iter);
|
|
||||||
col = gtk_text_iter_get_line_offset (&iter);
|
|
||||||
|
|
||||||
msg = g_strdup_printf ("Cursor at row %d column %d - %d chars in document",
|
|
||||||
row, col, count);
|
|
||||||
|
|
||||||
gtk_statusbar_push (GTK_STATUSBAR (window->status), 0, msg);
|
|
||||||
|
|
||||||
g_free (msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
mark_set_callback (GtkTextBuffer *buffer,
|
|
||||||
const GtkTextIter *new_location,
|
|
||||||
GtkTextMark *mark,
|
|
||||||
DemoApplicationWindow *window)
|
|
||||||
{
|
|
||||||
update_statusbar (buffer, window);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
change_theme_state (GSimpleAction *action,
|
|
||||||
GVariant *state,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
GtkSettings *settings = gtk_settings_get_default ();
|
|
||||||
|
|
||||||
g_object_set (G_OBJECT (settings),
|
|
||||||
"gtk-application-prefer-dark-theme",
|
|
||||||
g_variant_get_boolean (state),
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
g_simple_action_set_state (action, state);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
change_radio_state (GSimpleAction *action,
|
|
||||||
GVariant *state,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
g_simple_action_set_state (action, state);
|
|
||||||
}
|
|
||||||
|
|
||||||
static GActionEntry app_entries[] = {
|
|
||||||
{ "new", activate_new, NULL, NULL, NULL },
|
|
||||||
{ "open", activate_open, NULL, NULL, NULL },
|
|
||||||
{ "save", activate_action, NULL, NULL, NULL },
|
|
||||||
{ "save-as", activate_action, NULL, NULL, NULL },
|
|
||||||
{ "quit", activate_quit, NULL, NULL, NULL },
|
|
||||||
{ "dark", activate_toggle, NULL, "false", change_theme_state }
|
|
||||||
};
|
|
||||||
|
|
||||||
static GActionEntry win_entries[] = {
|
|
||||||
{ "shape", activate_radio, "s", "'oval'", change_radio_state },
|
|
||||||
{ "bold", activate_toggle, NULL, "false", NULL },
|
|
||||||
{ "about", activate_about, NULL, NULL, NULL },
|
|
||||||
{ "file1", activate_action, NULL, NULL, NULL },
|
|
||||||
{ "logo", activate_action, NULL, NULL, NULL }
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
|
||||||
clicked_cb (GtkWidget *widget, DemoApplicationWindow *window)
|
|
||||||
{
|
|
||||||
gtk_widget_hide (window->infobar);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
startup (GApplication *app)
|
|
||||||
{
|
|
||||||
GtkBuilder *builder;
|
|
||||||
GMenuModel *appmenu;
|
|
||||||
GMenuModel *menubar;
|
|
||||||
|
|
||||||
G_APPLICATION_CLASS (demo_application_parent_class)->startup (app);
|
|
||||||
|
|
||||||
builder = gtk_builder_new ();
|
|
||||||
gtk_builder_add_from_resource (builder, "/application_demo/menus.ui", NULL);
|
|
||||||
|
|
||||||
appmenu = (GMenuModel *)gtk_builder_get_object (builder, "appmenu");
|
|
||||||
menubar = (GMenuModel *)gtk_builder_get_object (builder, "menubar");
|
|
||||||
|
|
||||||
gtk_application_set_app_menu (GTK_APPLICATION (app), appmenu);
|
|
||||||
gtk_application_set_menubar (GTK_APPLICATION (app), menubar);
|
|
||||||
|
|
||||||
g_object_unref (builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
create_window (GApplication *app,
|
|
||||||
const char *content)
|
|
||||||
{
|
|
||||||
DemoApplicationWindow *window;
|
|
||||||
|
|
||||||
window = (DemoApplicationWindow *)g_object_new (demo_application_window_get_type (),
|
|
||||||
"application", app,
|
|
||||||
NULL);
|
|
||||||
if (content)
|
|
||||||
gtk_text_buffer_set_text (window->buffer, content, -1);
|
|
||||||
|
|
||||||
gtk_window_present (GTK_WINDOW (window));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
activate (GApplication *app)
|
|
||||||
{
|
|
||||||
create_window (app, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_init (DemoApplication *app)
|
|
||||||
{
|
|
||||||
GSettings *settings;
|
|
||||||
GAction *action;
|
|
||||||
|
|
||||||
settings = g_settings_new ("org.gtk.Demo4");
|
|
||||||
|
|
||||||
g_action_map_add_action_entries (G_ACTION_MAP (app),
|
|
||||||
app_entries, G_N_ELEMENTS (app_entries),
|
|
||||||
app);
|
|
||||||
|
|
||||||
action = g_settings_create_action (settings, "color");
|
|
||||||
|
|
||||||
g_action_map_add_action (G_ACTION_MAP (app), action);
|
|
||||||
|
|
||||||
g_object_unref (settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_class_init (DemoApplicationClass *class)
|
|
||||||
{
|
|
||||||
GApplicationClass *app_class = G_APPLICATION_CLASS (class);
|
|
||||||
|
|
||||||
app_class->startup = startup;
|
|
||||||
app_class->activate = activate;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_store_state (DemoApplicationWindow *win)
|
|
||||||
{
|
|
||||||
GSettings *settings;
|
|
||||||
|
|
||||||
settings = g_settings_new ("org.gtk.Demo4");
|
|
||||||
g_settings_set (settings, "window-size", "(ii)", win->width, win->height);
|
|
||||||
g_settings_set_boolean (settings, "maximized", win->maximized);
|
|
||||||
g_settings_set_boolean (settings, "fullscreen", win->fullscreen);
|
|
||||||
g_object_unref (settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_load_state (DemoApplicationWindow *win)
|
|
||||||
{
|
|
||||||
GSettings *settings;
|
|
||||||
|
|
||||||
settings = g_settings_new ("org.gtk.Demo4");
|
|
||||||
g_settings_get (settings, "window-size", "(ii)", &win->width, &win->height);
|
|
||||||
win->maximized = g_settings_get_boolean (settings, "maximized");
|
|
||||||
win->fullscreen = g_settings_get_boolean (settings, "fullscreen");
|
|
||||||
g_object_unref (settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_init (DemoApplicationWindow *window)
|
|
||||||
{
|
|
||||||
GtkWidget *menu;
|
|
||||||
|
|
||||||
window->width = -1;
|
|
||||||
window->height = -1;
|
|
||||||
window->maximized = FALSE;
|
|
||||||
window->fullscreen = FALSE;
|
|
||||||
|
|
||||||
gtk_widget_init_template (GTK_WIDGET (window));
|
|
||||||
|
|
||||||
menu = gtk_menu_new_from_model (window->toolmenu);
|
|
||||||
gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (window->menutool), menu);
|
|
||||||
|
|
||||||
g_action_map_add_action_entries (G_ACTION_MAP (window),
|
|
||||||
win_entries, G_N_ELEMENTS (win_entries),
|
|
||||||
window);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_constructed (GObject *object)
|
|
||||||
{
|
|
||||||
DemoApplicationWindow *window = (DemoApplicationWindow *)object;
|
|
||||||
|
|
||||||
demo_application_window_load_state (window);
|
|
||||||
|
|
||||||
gtk_window_set_default_size (GTK_WINDOW (window), window->width, window->height);
|
|
||||||
|
|
||||||
if (window->maximized)
|
|
||||||
gtk_window_maximize (GTK_WINDOW (window));
|
|
||||||
|
|
||||||
if (window->fullscreen)
|
|
||||||
gtk_window_fullscreen (GTK_WINDOW (window));
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (demo_application_window_parent_class)->constructed (object);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_size_allocate (GtkWidget *widget,
|
|
||||||
int width,
|
|
||||||
int height,
|
|
||||||
int baseline)
|
|
||||||
{
|
|
||||||
DemoApplicationWindow *window = (DemoApplicationWindow *)widget;
|
|
||||||
|
|
||||||
GTK_WIDGET_CLASS (demo_application_window_parent_class)->size_allocate (widget,
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
baseline);
|
|
||||||
|
|
||||||
if (!window->maximized && !window->fullscreen)
|
|
||||||
gtk_window_get_size (GTK_WINDOW (window), &window->width, &window->height);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
surface_state_changed (GtkWidget *widget)
|
|
||||||
{
|
|
||||||
DemoApplicationWindow *window = (DemoApplicationWindow *)widget;
|
|
||||||
GdkSurfaceState new_state;
|
|
||||||
|
|
||||||
new_state = gdk_surface_get_state (gtk_widget_get_surface (widget));
|
|
||||||
window->maximized = (new_state & GDK_SURFACE_STATE_MAXIMIZED) != 0;
|
|
||||||
window->fullscreen = (new_state & GDK_SURFACE_STATE_FULLSCREEN) != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_realize (GtkWidget *widget)
|
|
||||||
{
|
|
||||||
GTK_WIDGET_CLASS (demo_application_window_parent_class)->realize (widget);
|
|
||||||
|
|
||||||
g_signal_connect_swapped (gtk_widget_get_surface (widget), "notify::state",
|
|
||||||
G_CALLBACK (surface_state_changed), widget);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_unrealize (GtkWidget *widget)
|
|
||||||
{
|
|
||||||
g_signal_handlers_disconnect_by_func (gtk_widget_get_surface (widget),
|
|
||||||
surface_state_changed, widget);
|
|
||||||
|
|
||||||
GTK_WIDGET_CLASS (demo_application_window_parent_class)->unrealize (widget);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_destroy (GtkWidget *widget)
|
|
||||||
{
|
|
||||||
DemoApplicationWindow *window = (DemoApplicationWindow *)widget;
|
|
||||||
|
|
||||||
demo_application_window_store_state (window);
|
|
||||||
|
|
||||||
GTK_WIDGET_CLASS (demo_application_window_parent_class)->destroy (widget);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
demo_application_window_class_init (DemoApplicationWindowClass *class)
|
|
||||||
{
|
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS (class);
|
|
||||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
|
|
||||||
|
|
||||||
object_class->constructed = demo_application_window_constructed;
|
|
||||||
|
|
||||||
widget_class->size_allocate = demo_application_window_size_allocate;
|
|
||||||
widget_class->realize = demo_application_window_realize;
|
|
||||||
widget_class->unrealize = demo_application_window_unrealize;
|
|
||||||
widget_class->destroy = demo_application_window_destroy;
|
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/application_demo/application.ui");
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, message);
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, infobar);
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, status);
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, buffer);
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, menutool);
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, toolmenu);
|
|
||||||
gtk_widget_class_bind_template_callback (widget_class, clicked_cb);
|
|
||||||
gtk_widget_class_bind_template_callback (widget_class, update_statusbar);
|
|
||||||
gtk_widget_class_bind_template_callback (widget_class, mark_set_callback);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char *argv[])
|
|
||||||
{
|
|
||||||
GtkApplication *app;
|
|
||||||
|
|
||||||
app = GTK_APPLICATION (g_object_new (demo_application_get_type (),
|
|
||||||
"application-id", "org.gtk.Demo4.App",
|
|
||||||
"flags", G_APPLICATION_HANDLES_OPEN,
|
|
||||||
NULL));
|
|
||||||
|
|
||||||
return g_application_run (G_APPLICATION (app), 0, NULL);
|
|
||||||
}
|
|
@@ -1,111 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<interface>
|
|
||||||
<template class="DemoApplicationWindow" parent="GtkApplicationWindow">
|
|
||||||
<property name="title" translatable="yes">Application Class</property>
|
|
||||||
<property name="default-width">200</property>
|
|
||||||
<property name="default-height">200</property>
|
|
||||||
<property name="icon-name">document-open</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkGrid">
|
|
||||||
<child>
|
|
||||||
<object class="GtkToolbar">
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<style>
|
|
||||||
<class name="primary-toolbar"/>
|
|
||||||
</style>
|
|
||||||
<child>
|
|
||||||
<object class="GtkMenuToolButton" id="menutool">
|
|
||||||
<property name="icon-name">document-open</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkToolButton">
|
|
||||||
<property name="icon-name">application-exit</property>
|
|
||||||
<property name="action-name">app.quit</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkSeparatorToolItem"/>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkToolButton">
|
|
||||||
<property name="icon-name">applications-other</property>
|
|
||||||
<property name="action-name">win.logo</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkInfoBar" id="infobar">
|
|
||||||
<property name="visible">0</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<child internal-child="content_area">
|
|
||||||
<object class="GtkBox" id="content_area">
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="message">
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child internal-child="action_area">
|
|
||||||
<object class="GtkBox">
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton">
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="label" translatable="yes">_OK</property>
|
|
||||||
<property name="use-underline">1</property>
|
|
||||||
<signal name="clicked" handler="clicked_cb"/>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkScrolledWindow">
|
|
||||||
<property name="shadow-type">in</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkTextView">
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<property name="vexpand">1</property>
|
|
||||||
<property name="buffer">buffer</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">2</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkStatusbar" id="status">
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">3</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</template>
|
|
||||||
<menu id="toolmenu">
|
|
||||||
<item>
|
|
||||||
<attribute name="label">File1</attribute>
|
|
||||||
<attribute name="action">win.file1</attribute>
|
|
||||||
</item>
|
|
||||||
</menu>
|
|
||||||
<object class="GtkTextBuffer" id="buffer">
|
|
||||||
<signal name="changed" handler="update_statusbar"/>
|
|
||||||
<signal name="mark-set" handler="mark_set_callback"/>
|
|
||||||
</object>
|
|
||||||
</interface>
|
|
@@ -1,95 +0,0 @@
|
|||||||
/* Application Class
|
|
||||||
*
|
|
||||||
* Demonstrates a simple application.
|
|
||||||
*
|
|
||||||
* This example uses GtkApplication, GtkApplicationWindow, GtkBuilder
|
|
||||||
* as well as GMenu and GResource. Due to the way GtkApplication is structured,
|
|
||||||
* it is run as a separate process.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
|
||||||
|
|
||||||
static gboolean name_seen;
|
|
||||||
static GtkWidget *placeholder;
|
|
||||||
|
|
||||||
static void
|
|
||||||
on_name_appeared (GDBusConnection *connection,
|
|
||||||
const gchar *name,
|
|
||||||
const gchar *name_owner,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
name_seen = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
on_name_vanished (GDBusConnection *connection,
|
|
||||||
const gchar *name,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
if (!name_seen)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (placeholder)
|
|
||||||
{
|
|
||||||
gtk_widget_destroy (placeholder);
|
|
||||||
g_object_unref (placeholder);
|
|
||||||
placeholder = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef G_OS_WIN32
|
|
||||||
#define APP_EXTENSION ".exe"
|
|
||||||
#else
|
|
||||||
#define APP_EXTENSION
|
|
||||||
#endif
|
|
||||||
|
|
||||||
GtkWidget *
|
|
||||||
do_application_demo (GtkWidget *toplevel)
|
|
||||||
{
|
|
||||||
static guint watch = 0;
|
|
||||||
|
|
||||||
if (watch == 0)
|
|
||||||
watch = g_bus_watch_name (G_BUS_TYPE_SESSION,
|
|
||||||
"org.gtk.Demo4.App",
|
|
||||||
0,
|
|
||||||
on_name_appeared,
|
|
||||||
on_name_vanished,
|
|
||||||
NULL, NULL);
|
|
||||||
|
|
||||||
if (placeholder == NULL)
|
|
||||||
{
|
|
||||||
const gchar *command;
|
|
||||||
GError *error = NULL;
|
|
||||||
|
|
||||||
if (g_file_test ("./gtk4-demo-application" APP_EXTENSION, G_FILE_TEST_IS_EXECUTABLE))
|
|
||||||
command = "./gtk4-demo-application" APP_EXTENSION;
|
|
||||||
else
|
|
||||||
command = "gtk4-demo-application";
|
|
||||||
|
|
||||||
if (!g_spawn_command_line_async (command, &error))
|
|
||||||
{
|
|
||||||
g_warning ("%s", error->message);
|
|
||||||
g_error_free (error);
|
|
||||||
}
|
|
||||||
|
|
||||||
placeholder = gtk_label_new ("");
|
|
||||||
g_object_ref_sink (placeholder);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL),
|
|
||||||
"org.gtk.Demo4.App",
|
|
||||||
"/org/gtk/Demo4/App",
|
|
||||||
"org.gtk.Actions",
|
|
||||||
"Activate",
|
|
||||||
g_variant_new ("(sava{sv})", "quit", NULL, NULL),
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
G_MAXINT,
|
|
||||||
NULL, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
return placeholder;
|
|
||||||
}
|
|
@@ -1,18 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<interface>
|
|
||||||
<menu id="appmenu">
|
|
||||||
<section>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">About</attribute>
|
|
||||||
<attribute name="action">app.about</attribute>
|
|
||||||
</item>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<item>
|
|
||||||
<attribute name="label" translatable="yes">_Quit</attribute>
|
|
||||||
<attribute name="action">app.quit</attribute>
|
|
||||||
<attribute name="accel"><Primary>q</attribute>
|
|
||||||
</item>
|
|
||||||
</section>
|
|
||||||
</menu>
|
|
||||||
</interface>
|
|
584
demos/gtk-demo/appwindow.c
Normal file
@@ -0,0 +1,584 @@
|
|||||||
|
/* Application main window
|
||||||
|
*
|
||||||
|
* Demonstrates a typical application window with menubar, toolbar, statusbar.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
#include "config.h"
|
||||||
|
#include "demo-common.h"
|
||||||
|
|
||||||
|
static GtkWidget *window = NULL;
|
||||||
|
static GtkWidget *infobar = NULL;
|
||||||
|
static GtkWidget *messagelabel = NULL;
|
||||||
|
|
||||||
|
static void
|
||||||
|
activate_action (GtkAction *action)
|
||||||
|
{
|
||||||
|
const gchar *name = gtk_action_get_name (action);
|
||||||
|
const gchar *typename = G_OBJECT_TYPE_NAME (action);
|
||||||
|
|
||||||
|
GtkWidget *dialog;
|
||||||
|
|
||||||
|
if (g_str_equal (name, "DarkTheme"))
|
||||||
|
{
|
||||||
|
gboolean value = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
|
||||||
|
GtkSettings *settings = gtk_settings_get_default ();
|
||||||
|
|
||||||
|
g_object_set (G_OBJECT (settings),
|
||||||
|
"gtk-application-prefer-dark-theme", value,
|
||||||
|
NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
|
||||||
|
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||||
|
GTK_MESSAGE_INFO,
|
||||||
|
GTK_BUTTONS_CLOSE,
|
||||||
|
"You activated action: \"%s\" of type \"%s\"",
|
||||||
|
name, typename);
|
||||||
|
|
||||||
|
/* Close dialog on user response */
|
||||||
|
g_signal_connect (dialog,
|
||||||
|
"response",
|
||||||
|
G_CALLBACK (gtk_widget_destroy),
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
gtk_widget_show (dialog);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
activate_radio_action (GtkAction *action, GtkRadioAction *current)
|
||||||
|
{
|
||||||
|
const gchar *name = gtk_action_get_name (GTK_ACTION (current));
|
||||||
|
const gchar *typename = G_OBJECT_TYPE_NAME (GTK_ACTION (current));
|
||||||
|
gboolean active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (current));
|
||||||
|
gint value = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (current));
|
||||||
|
|
||||||
|
if (active)
|
||||||
|
{
|
||||||
|
gchar *text;
|
||||||
|
|
||||||
|
text = g_strdup_printf ("You activated radio action: \"%s\" of type \"%s\".\n"
|
||||||
|
"Current value: %d",
|
||||||
|
name, typename, value);
|
||||||
|
gtk_label_set_text (GTK_LABEL (messagelabel), text);
|
||||||
|
gtk_info_bar_set_message_type (GTK_INFO_BAR (infobar), (GtkMessageType)value);
|
||||||
|
gtk_widget_show (infobar);
|
||||||
|
g_free (text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
about_cb (GtkAction *action,
|
||||||
|
GtkWidget *window)
|
||||||
|
{
|
||||||
|
GdkPixbuf *pixbuf, *transparent;
|
||||||
|
gchar *filename;
|
||||||
|
|
||||||
|
const gchar *authors[] = {
|
||||||
|
"Peter Mattis",
|
||||||
|
"Spencer Kimball",
|
||||||
|
"Josh MacDonald",
|
||||||
|
"and many more...",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
const gchar *documentors[] = {
|
||||||
|
"Owen Taylor",
|
||||||
|
"Tony Gale",
|
||||||
|
"Matthias Clasen <mclasen@redhat.com>",
|
||||||
|
"and many more...",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
pixbuf = NULL;
|
||||||
|
transparent = NULL;
|
||||||
|
filename = demo_find_file ("gtk-logo-rgb.gif", NULL);
|
||||||
|
if (filename)
|
||||||
|
{
|
||||||
|
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
|
||||||
|
g_free (filename);
|
||||||
|
transparent = gdk_pixbuf_add_alpha (pixbuf, TRUE, 0xff, 0xff, 0xff);
|
||||||
|
g_object_unref (pixbuf);
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_show_about_dialog (GTK_WINDOW (window),
|
||||||
|
"program-name", "GTK+ Code Demos",
|
||||||
|
"version", g_strdup_printf ("%s,\nRunning against GTK+ %d.%d.%d",
|
||||||
|
PACKAGE_VERSION,
|
||||||
|
gtk_get_major_version (),
|
||||||
|
gtk_get_minor_version (),
|
||||||
|
gtk_get_micro_version ()),
|
||||||
|
"copyright", "(C) 1997-2009 The GTK+ Team",
|
||||||
|
"license-type", GTK_LICENSE_LGPL_2_1,
|
||||||
|
"website", "http://www.gtk.org",
|
||||||
|
"comments", "Program to demonstrate GTK+ functions.",
|
||||||
|
"authors", authors,
|
||||||
|
"documenters", documentors,
|
||||||
|
"logo", transparent,
|
||||||
|
"title", "About GTK+ Code Demos",
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
g_object_unref (transparent);
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
GtkAction action;
|
||||||
|
} ToolMenuAction;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
GtkActionClass parent_class;
|
||||||
|
} ToolMenuActionClass;
|
||||||
|
|
||||||
|
G_DEFINE_TYPE(ToolMenuAction, tool_menu_action, GTK_TYPE_ACTION)
|
||||||
|
|
||||||
|
static void
|
||||||
|
tool_menu_action_class_init (ToolMenuActionClass *class)
|
||||||
|
{
|
||||||
|
GTK_ACTION_CLASS (class)->toolbar_item_type = GTK_TYPE_MENU_TOOL_BUTTON;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
tool_menu_action_init (ToolMenuAction *action)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static GtkActionEntry entries[] = {
|
||||||
|
{ "FileMenu", NULL, "_File" }, /* name, stock id, label */
|
||||||
|
{ "OpenMenu", NULL, "_Open" }, /* name, stock id, label */
|
||||||
|
{ "PreferencesMenu", NULL, "_Preferences" }, /* name, stock id, label */
|
||||||
|
{ "ColorMenu", NULL, "_Color" }, /* name, stock id, label */
|
||||||
|
{ "ShapeMenu", NULL, "_Shape" }, /* name, stock id, label */
|
||||||
|
{ "HelpMenu", NULL, "_Help" }, /* name, stock id, label */
|
||||||
|
{ "New", GTK_STOCK_NEW, /* name, stock id */
|
||||||
|
"_New", "<control>N", /* label, accelerator */
|
||||||
|
"Create a new file", /* tooltip */
|
||||||
|
G_CALLBACK (activate_action) },
|
||||||
|
{ "File1", NULL, /* name, stock id */
|
||||||
|
"File1", NULL, /* label, accelerator */
|
||||||
|
"Open first file", /* tooltip */
|
||||||
|
G_CALLBACK (activate_action) },
|
||||||
|
{ "Save", GTK_STOCK_SAVE, /* name, stock id */
|
||||||
|
"_Save","<control>S", /* label, accelerator */
|
||||||
|
"Save current file", /* tooltip */
|
||||||
|
G_CALLBACK (activate_action) },
|
||||||
|
{ "SaveAs", GTK_STOCK_SAVE, /* name, stock id */
|
||||||
|
"Save _As...", NULL, /* label, accelerator */
|
||||||
|
"Save to a file", /* tooltip */
|
||||||
|
G_CALLBACK (activate_action) },
|
||||||
|
{ "Quit", GTK_STOCK_QUIT, /* name, stock id */
|
||||||
|
"_Quit", "<control>Q", /* label, accelerator */
|
||||||
|
"Quit", /* tooltip */
|
||||||
|
G_CALLBACK (activate_action) },
|
||||||
|
{ "About", NULL, /* name, stock id */
|
||||||
|
"_About", "<control>A", /* label, accelerator */
|
||||||
|
"About", /* tooltip */
|
||||||
|
G_CALLBACK (about_cb) },
|
||||||
|
{ "Logo", "demo-gtk-logo", /* name, stock id */
|
||||||
|
NULL, NULL, /* label, accelerator */
|
||||||
|
"GTK+", /* tooltip */
|
||||||
|
G_CALLBACK (activate_action) },
|
||||||
|
};
|
||||||
|
static guint n_entries = G_N_ELEMENTS (entries);
|
||||||
|
|
||||||
|
|
||||||
|
static GtkToggleActionEntry toggle_entries[] = {
|
||||||
|
{ "Bold", GTK_STOCK_BOLD, /* name, stock id */
|
||||||
|
"_Bold", "<control>B", /* label, accelerator */
|
||||||
|
"Bold", /* tooltip */
|
||||||
|
G_CALLBACK (activate_action),
|
||||||
|
TRUE }, /* is_active */
|
||||||
|
{ "DarkTheme", NULL, /* name, stock id */
|
||||||
|
"_Prefer Dark Theme", NULL, /* label, accelerator */
|
||||||
|
"Prefer Dark Theme", /* tooltip */
|
||||||
|
G_CALLBACK (activate_action),
|
||||||
|
FALSE }, /* is_active */
|
||||||
|
};
|
||||||
|
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
|
||||||
|
|
||||||
|
enum {
|
||||||
|
COLOR_RED,
|
||||||
|
COLOR_GREEN,
|
||||||
|
COLOR_BLUE
|
||||||
|
};
|
||||||
|
|
||||||
|
static GtkRadioActionEntry color_entries[] = {
|
||||||
|
{ "Red", NULL, /* name, stock id */
|
||||||
|
"_Red", "<control>R", /* label, accelerator */
|
||||||
|
"Blood", COLOR_RED }, /* tooltip, value */
|
||||||
|
{ "Green", NULL, /* name, stock id */
|
||||||
|
"_Green", "<control>G", /* label, accelerator */
|
||||||
|
"Grass", COLOR_GREEN }, /* tooltip, value */
|
||||||
|
{ "Blue", NULL, /* name, stock id */
|
||||||
|
"_Blue", "<control>B", /* label, accelerator */
|
||||||
|
"Sky", COLOR_BLUE }, /* tooltip, value */
|
||||||
|
};
|
||||||
|
static guint n_color_entries = G_N_ELEMENTS (color_entries);
|
||||||
|
|
||||||
|
enum {
|
||||||
|
SHAPE_SQUARE,
|
||||||
|
SHAPE_RECTANGLE,
|
||||||
|
SHAPE_OVAL
|
||||||
|
};
|
||||||
|
|
||||||
|
static GtkRadioActionEntry shape_entries[] = {
|
||||||
|
{ "Square", NULL, /* name, stock id */
|
||||||
|
"_Square", "<control>S", /* label, accelerator */
|
||||||
|
"Square", SHAPE_SQUARE }, /* tooltip, value */
|
||||||
|
{ "Rectangle", NULL, /* name, stock id */
|
||||||
|
"_Rectangle", "<control>R", /* label, accelerator */
|
||||||
|
"Rectangle", SHAPE_RECTANGLE }, /* tooltip, value */
|
||||||
|
{ "Oval", NULL, /* name, stock id */
|
||||||
|
"_Oval", "<control>O", /* label, accelerator */
|
||||||
|
"Egg", SHAPE_OVAL }, /* tooltip, value */
|
||||||
|
};
|
||||||
|
static guint n_shape_entries = G_N_ELEMENTS (shape_entries);
|
||||||
|
|
||||||
|
static const gchar *ui_info =
|
||||||
|
"<ui>"
|
||||||
|
" <menubar name='MenuBar'>"
|
||||||
|
" <menu action='FileMenu'>"
|
||||||
|
" <menuitem action='New'/>"
|
||||||
|
" <menuitem action='Open'/>"
|
||||||
|
" <menuitem action='Save'/>"
|
||||||
|
" <menuitem action='SaveAs'/>"
|
||||||
|
" <separator/>"
|
||||||
|
" <menuitem action='Quit'/>"
|
||||||
|
" </menu>"
|
||||||
|
" <menu action='PreferencesMenu'>"
|
||||||
|
" <menuitem action='DarkTheme'/>"
|
||||||
|
" <menu action='ColorMenu'>"
|
||||||
|
" <menuitem action='Red'/>"
|
||||||
|
" <menuitem action='Green'/>"
|
||||||
|
" <menuitem action='Blue'/>"
|
||||||
|
" </menu>"
|
||||||
|
" <menu action='ShapeMenu'>"
|
||||||
|
" <menuitem action='Square'/>"
|
||||||
|
" <menuitem action='Rectangle'/>"
|
||||||
|
" <menuitem action='Oval'/>"
|
||||||
|
" </menu>"
|
||||||
|
" <menuitem action='Bold'/>"
|
||||||
|
" </menu>"
|
||||||
|
" <menu action='HelpMenu'>"
|
||||||
|
" <menuitem action='About'/>"
|
||||||
|
" </menu>"
|
||||||
|
" </menubar>"
|
||||||
|
" <toolbar name='ToolBar'>"
|
||||||
|
" <toolitem action='Open'>"
|
||||||
|
" <menu action='OpenMenu'>"
|
||||||
|
" <menuitem action='File1'/>"
|
||||||
|
" </menu>"
|
||||||
|
" </toolitem>"
|
||||||
|
" <toolitem action='Quit'/>"
|
||||||
|
" <separator action='Sep1'/>"
|
||||||
|
" <toolitem action='Logo'/>"
|
||||||
|
" </toolbar>"
|
||||||
|
"</ui>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* This function registers our custom toolbar icons, so they can be themed.
|
||||||
|
*
|
||||||
|
* It's totally optional to do this, you could just manually insert icons
|
||||||
|
* and have them not be themeable, especially if you never expect people
|
||||||
|
* to theme your app.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
register_stock_icons (void)
|
||||||
|
{
|
||||||
|
static gboolean registered = FALSE;
|
||||||
|
|
||||||
|
if (!registered)
|
||||||
|
{
|
||||||
|
GdkPixbuf *pixbuf;
|
||||||
|
GtkIconFactory *factory;
|
||||||
|
char *filename;
|
||||||
|
|
||||||
|
static GtkStockItem items[] = {
|
||||||
|
{ "demo-gtk-logo",
|
||||||
|
"_GTK!",
|
||||||
|
0, 0, NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
registered = TRUE;
|
||||||
|
|
||||||
|
/* Register our stock items */
|
||||||
|
gtk_stock_add (items, G_N_ELEMENTS (items));
|
||||||
|
|
||||||
|
/* Add our custom icon factory to the list of defaults */
|
||||||
|
factory = gtk_icon_factory_new ();
|
||||||
|
gtk_icon_factory_add_default (factory);
|
||||||
|
|
||||||
|
/* demo_find_file() looks in the current directory first,
|
||||||
|
* so you can run gtk-demo without installing GTK, then looks
|
||||||
|
* in the location where the file is installed.
|
||||||
|
*/
|
||||||
|
pixbuf = NULL;
|
||||||
|
filename = demo_find_file ("gtk-logo-rgb.gif", NULL);
|
||||||
|
if (filename)
|
||||||
|
{
|
||||||
|
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
|
||||||
|
g_free (filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Register icon to accompany stock item */
|
||||||
|
if (pixbuf != NULL)
|
||||||
|
{
|
||||||
|
GtkIconSet *icon_set;
|
||||||
|
GdkPixbuf *transparent;
|
||||||
|
|
||||||
|
/* The gtk-logo-rgb icon has a white background, make it transparent */
|
||||||
|
transparent = gdk_pixbuf_add_alpha (pixbuf, TRUE, 0xff, 0xff, 0xff);
|
||||||
|
|
||||||
|
icon_set = gtk_icon_set_new_from_pixbuf (transparent);
|
||||||
|
gtk_icon_factory_add (factory, "demo-gtk-logo", icon_set);
|
||||||
|
gtk_icon_set_unref (icon_set);
|
||||||
|
g_object_unref (pixbuf);
|
||||||
|
g_object_unref (transparent);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
g_warning ("failed to load GTK logo for toolbar");
|
||||||
|
|
||||||
|
/* Drop our reference to the factory, GTK will hold a reference. */
|
||||||
|
g_object_unref (factory);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
update_statusbar (GtkTextBuffer *buffer,
|
||||||
|
GtkStatusbar *statusbar)
|
||||||
|
{
|
||||||
|
gchar *msg;
|
||||||
|
gint row, col;
|
||||||
|
gint count;
|
||||||
|
GtkTextIter iter;
|
||||||
|
|
||||||
|
gtk_statusbar_pop (statusbar, 0); /* clear any previous message,
|
||||||
|
* underflow is allowed
|
||||||
|
*/
|
||||||
|
|
||||||
|
count = gtk_text_buffer_get_char_count (buffer);
|
||||||
|
|
||||||
|
gtk_text_buffer_get_iter_at_mark (buffer,
|
||||||
|
&iter,
|
||||||
|
gtk_text_buffer_get_insert (buffer));
|
||||||
|
|
||||||
|
row = gtk_text_iter_get_line (&iter);
|
||||||
|
col = gtk_text_iter_get_line_offset (&iter);
|
||||||
|
|
||||||
|
msg = g_strdup_printf ("Cursor at row %d column %d - %d chars in document",
|
||||||
|
row, col, count);
|
||||||
|
|
||||||
|
gtk_statusbar_push (statusbar, 0, msg);
|
||||||
|
|
||||||
|
g_free (msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
mark_set_callback (GtkTextBuffer *buffer,
|
||||||
|
const GtkTextIter *new_location,
|
||||||
|
GtkTextMark *mark,
|
||||||
|
gpointer data)
|
||||||
|
{
|
||||||
|
update_statusbar (buffer, GTK_STATUSBAR (data));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
group_value_changed (GObject *object,
|
||||||
|
GParamSpec *pspec,
|
||||||
|
gpointer data)
|
||||||
|
{
|
||||||
|
g_print ("GtkRadioGroup active-value changed to: %s\n",
|
||||||
|
gtk_radio_group_get_active_value (GTK_RADIO_GROUP (object)));
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *
|
||||||
|
do_appwindow (GtkWidget *do_widget)
|
||||||
|
{
|
||||||
|
if (!window)
|
||||||
|
{
|
||||||
|
GtkWidget *table;
|
||||||
|
GtkWidget *statusbar;
|
||||||
|
GtkWidget *contents;
|
||||||
|
GtkWidget *sw;
|
||||||
|
GtkWidget *bar;
|
||||||
|
GtkTextBuffer *buffer;
|
||||||
|
GtkActionGroup *action_group;
|
||||||
|
GtkAction *open_action;
|
||||||
|
GtkUIManager *merge;
|
||||||
|
GError *error = NULL;
|
||||||
|
|
||||||
|
register_stock_icons ();
|
||||||
|
|
||||||
|
/* Create the toplevel window
|
||||||
|
*/
|
||||||
|
|
||||||
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||||
|
gtk_window_set_screen (GTK_WINDOW (window),
|
||||||
|
gtk_widget_get_screen (do_widget));
|
||||||
|
gtk_window_set_title (GTK_WINDOW (window), "Application Window");
|
||||||
|
gtk_window_set_icon_name (GTK_WINDOW (window), "document-open");
|
||||||
|
|
||||||
|
/* NULL window variable when window is closed */
|
||||||
|
g_signal_connect (window, "destroy",
|
||||||
|
G_CALLBACK (gtk_widget_destroyed),
|
||||||
|
&window);
|
||||||
|
|
||||||
|
table = gtk_table_new (1, 5, FALSE);
|
||||||
|
|
||||||
|
gtk_container_add (GTK_CONTAINER (window), table);
|
||||||
|
|
||||||
|
/* Create the menubar and toolbar
|
||||||
|
*/
|
||||||
|
|
||||||
|
action_group = gtk_action_group_new ("AppWindowActions");
|
||||||
|
open_action = g_object_new (tool_menu_action_get_type (),
|
||||||
|
"name", "Open",
|
||||||
|
"label", "_Open",
|
||||||
|
"tooltip", "Open a file",
|
||||||
|
"stock-id", GTK_STOCK_OPEN,
|
||||||
|
NULL);
|
||||||
|
gtk_action_group_add_action (action_group, open_action);
|
||||||
|
g_object_unref (open_action);
|
||||||
|
gtk_action_group_add_actions (action_group,
|
||||||
|
entries, n_entries,
|
||||||
|
window);
|
||||||
|
gtk_action_group_add_toggle_actions (action_group,
|
||||||
|
toggle_entries, n_toggle_entries,
|
||||||
|
NULL);
|
||||||
|
gtk_action_group_add_radio_actions (action_group,
|
||||||
|
color_entries, n_color_entries,
|
||||||
|
COLOR_RED,
|
||||||
|
G_CALLBACK (activate_radio_action),
|
||||||
|
NULL);
|
||||||
|
gtk_action_group_add_radio_actions (action_group,
|
||||||
|
shape_entries, n_shape_entries,
|
||||||
|
SHAPE_SQUARE,
|
||||||
|
G_CALLBACK (activate_radio_action),
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
g_signal_connect (gtk_radio_action_get_group (GTK_RADIO_ACTION (gtk_action_group_get_action (action_group, "Red"))),
|
||||||
|
"notify::active-value", G_CALLBACK (group_value_changed), NULL);
|
||||||
|
|
||||||
|
merge = gtk_ui_manager_new ();
|
||||||
|
g_object_set_data_full (G_OBJECT (window), "ui-manager", merge,
|
||||||
|
g_object_unref);
|
||||||
|
gtk_ui_manager_insert_action_group (merge, action_group, 0);
|
||||||
|
gtk_window_add_accel_group (GTK_WINDOW (window),
|
||||||
|
gtk_ui_manager_get_accel_group (merge));
|
||||||
|
|
||||||
|
if (!gtk_ui_manager_add_ui_from_string (merge, ui_info, -1, &error))
|
||||||
|
{
|
||||||
|
g_message ("building menus failed: %s", error->message);
|
||||||
|
g_error_free (error);
|
||||||
|
}
|
||||||
|
|
||||||
|
bar = gtk_ui_manager_get_widget (merge, "/MenuBar");
|
||||||
|
gtk_widget_show (bar);
|
||||||
|
gtk_table_attach (GTK_TABLE (table),
|
||||||
|
bar,
|
||||||
|
/* X direction */ /* Y direction */
|
||||||
|
0, 1, 0, 1,
|
||||||
|
GTK_EXPAND | GTK_FILL, 0,
|
||||||
|
0, 0);
|
||||||
|
|
||||||
|
bar = gtk_ui_manager_get_widget (merge, "/ToolBar");
|
||||||
|
gtk_widget_show (bar);
|
||||||
|
gtk_table_attach (GTK_TABLE (table),
|
||||||
|
bar,
|
||||||
|
/* X direction */ /* Y direction */
|
||||||
|
0, 1, 1, 2,
|
||||||
|
GTK_EXPAND | GTK_FILL, 0,
|
||||||
|
0, 0);
|
||||||
|
|
||||||
|
/* Create document
|
||||||
|
*/
|
||||||
|
|
||||||
|
infobar = gtk_info_bar_new ();
|
||||||
|
gtk_widget_set_no_show_all (infobar, TRUE);
|
||||||
|
messagelabel = gtk_label_new ("");
|
||||||
|
gtk_widget_show (messagelabel);
|
||||||
|
gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (infobar))),
|
||||||
|
messagelabel,
|
||||||
|
TRUE, TRUE, 0);
|
||||||
|
gtk_info_bar_add_button (GTK_INFO_BAR (infobar),
|
||||||
|
GTK_STOCK_OK, GTK_RESPONSE_OK);
|
||||||
|
g_signal_connect (infobar, "response",
|
||||||
|
G_CALLBACK (gtk_widget_hide), NULL);
|
||||||
|
|
||||||
|
gtk_table_attach (GTK_TABLE (table),
|
||||||
|
infobar,
|
||||||
|
/* X direction */ /* Y direction */
|
||||||
|
0, 1, 2, 3,
|
||||||
|
GTK_EXPAND | GTK_FILL, 0,
|
||||||
|
0, 0);
|
||||||
|
|
||||||
|
sw = gtk_scrolled_window_new (NULL, NULL);
|
||||||
|
|
||||||
|
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
|
||||||
|
GTK_POLICY_AUTOMATIC,
|
||||||
|
GTK_POLICY_AUTOMATIC);
|
||||||
|
|
||||||
|
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
|
||||||
|
GTK_SHADOW_IN);
|
||||||
|
|
||||||
|
gtk_table_attach (GTK_TABLE (table),
|
||||||
|
sw,
|
||||||
|
/* X direction */ /* Y direction */
|
||||||
|
0, 1, 3, 4,
|
||||||
|
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
|
||||||
|
0, 0);
|
||||||
|
|
||||||
|
gtk_window_set_default_size (GTK_WINDOW (window),
|
||||||
|
200, 200);
|
||||||
|
|
||||||
|
contents = gtk_text_view_new ();
|
||||||
|
gtk_widget_grab_focus (contents);
|
||||||
|
|
||||||
|
gtk_container_add (GTK_CONTAINER (sw),
|
||||||
|
contents);
|
||||||
|
|
||||||
|
/* Create statusbar */
|
||||||
|
|
||||||
|
statusbar = gtk_statusbar_new ();
|
||||||
|
gtk_table_attach (GTK_TABLE (table),
|
||||||
|
statusbar,
|
||||||
|
/* X direction */ /* Y direction */
|
||||||
|
0, 1, 4, 5,
|
||||||
|
GTK_EXPAND | GTK_FILL, 0,
|
||||||
|
0, 0);
|
||||||
|
|
||||||
|
/* Show text widget info in the statusbar */
|
||||||
|
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (contents));
|
||||||
|
|
||||||
|
g_signal_connect_object (buffer,
|
||||||
|
"changed",
|
||||||
|
G_CALLBACK (update_statusbar),
|
||||||
|
statusbar,
|
||||||
|
0);
|
||||||
|
|
||||||
|
g_signal_connect_object (buffer,
|
||||||
|
"mark_set", /* cursor moved */
|
||||||
|
G_CALLBACK (mark_set_callback),
|
||||||
|
statusbar,
|
||||||
|
0);
|
||||||
|
|
||||||
|
update_statusbar (buffer, GTK_STATUSBAR (statusbar));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!gtk_widget_get_visible (window))
|
||||||
|
{
|
||||||
|
gtk_widget_show_all (window);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gtk_widget_destroy (window);
|
||||||
|
window = NULL;
|
||||||
|
infobar = NULL;
|
||||||
|
messagelabel = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
|
@@ -1,11 +1,12 @@
|
|||||||
/* Assistant
|
/* Assistant
|
||||||
*
|
*
|
||||||
* Demonstrates a sample multi-step assistant. Assistants are used to divide
|
* Demonstrates a sample multistep assistant. Assistants are used to divide
|
||||||
* an operation into several simpler sequential steps, and to guide the user
|
* an operation into several simpler sequential steps, and to guide the user
|
||||||
* through these steps.
|
* through these steps.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
#include "demo-common.h"
|
||||||
|
|
||||||
static GtkWidget *assistant = NULL;
|
static GtkWidget *assistant = NULL;
|
||||||
static GtkWidget *progress_bar = NULL;
|
static GtkWidget *progress_bar = NULL;
|
||||||
@@ -22,14 +23,13 @@ apply_changes_gradually (gpointer data)
|
|||||||
if (fraction < 1.0)
|
if (fraction < 1.0)
|
||||||
{
|
{
|
||||||
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), fraction);
|
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), fraction);
|
||||||
return G_SOURCE_CONTINUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Close automatically once changes are fully applied. */
|
/* Close automatically once changes are fully applied. */
|
||||||
gtk_widget_destroy (assistant);
|
gtk_widget_destroy (assistant);
|
||||||
assistant = NULL;
|
return FALSE;
|
||||||
return G_SOURCE_REMOVE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ on_entry_changed (GtkWidget *widget, gpointer data)
|
|||||||
|
|
||||||
page_number = gtk_assistant_get_current_page (assistant);
|
page_number = gtk_assistant_get_current_page (assistant);
|
||||||
current_page = gtk_assistant_get_nth_page (assistant, page_number);
|
current_page = gtk_assistant_get_nth_page (assistant, page_number);
|
||||||
text = gtk_editable_get_text (GTK_EDITABLE (widget));
|
text = gtk_entry_get_text (GTK_ENTRY (widget));
|
||||||
|
|
||||||
if (text && *text)
|
if (text && *text)
|
||||||
gtk_assistant_set_page_complete (assistant, current_page, TRUE);
|
gtk_assistant_set_page_complete (assistant, current_page, TRUE);
|
||||||
@@ -92,44 +92,57 @@ static void
|
|||||||
create_page1 (GtkWidget *assistant)
|
create_page1 (GtkWidget *assistant)
|
||||||
{
|
{
|
||||||
GtkWidget *box, *label, *entry;
|
GtkWidget *box, *label, *entry;
|
||||||
|
GdkPixbuf *pixbuf;
|
||||||
|
|
||||||
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
|
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
|
||||||
|
gtk_container_set_border_width (GTK_CONTAINER (box), 12);
|
||||||
|
|
||||||
label = gtk_label_new ("You must fill out this entry to continue:");
|
label = gtk_label_new ("You must fill out this entry to continue:");
|
||||||
gtk_container_add (GTK_CONTAINER (box), label);
|
gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0);
|
||||||
|
|
||||||
entry = gtk_entry_new ();
|
entry = gtk_entry_new ();
|
||||||
gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
|
gtk_box_pack_start (GTK_BOX (box), entry, TRUE, TRUE, 0);
|
||||||
gtk_widget_set_valign (entry, GTK_ALIGN_CENTER);
|
|
||||||
gtk_container_add (GTK_CONTAINER (box), entry);
|
|
||||||
g_signal_connect (G_OBJECT (entry), "changed",
|
g_signal_connect (G_OBJECT (entry), "changed",
|
||||||
G_CALLBACK (on_entry_changed), assistant);
|
G_CALLBACK (on_entry_changed), assistant);
|
||||||
|
|
||||||
|
gtk_widget_show_all (box);
|
||||||
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
|
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
|
||||||
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 1");
|
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 1");
|
||||||
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), box, GTK_ASSISTANT_PAGE_INTRO);
|
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), box, GTK_ASSISTANT_PAGE_INTRO);
|
||||||
|
|
||||||
|
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
|
||||||
|
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf);
|
||||||
|
g_object_unref (pixbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
create_page2 (GtkWidget *assistant)
|
create_page2 (GtkWidget *assistant)
|
||||||
{
|
{
|
||||||
GtkWidget *box, *checkbutton;
|
GtkWidget *box, *checkbutton;
|
||||||
|
GdkPixbuf *pixbuf;
|
||||||
|
|
||||||
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
||||||
|
gtk_container_set_border_width (GTK_CONTAINER (box), 12);
|
||||||
|
|
||||||
checkbutton = gtk_check_button_new_with_label ("This is optional data, you may continue "
|
checkbutton = gtk_check_button_new_with_label ("This is optional data, you may continue "
|
||||||
"even if you do not check this");
|
"even if you do not check this");
|
||||||
gtk_container_add (GTK_CONTAINER (box), checkbutton);
|
gtk_box_pack_start (GTK_BOX (box), checkbutton, FALSE, FALSE, 0);
|
||||||
|
|
||||||
|
gtk_widget_show_all (box);
|
||||||
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
|
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
|
||||||
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), box, TRUE);
|
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), box, TRUE);
|
||||||
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 2");
|
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 2");
|
||||||
|
|
||||||
|
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
|
||||||
|
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf);
|
||||||
|
g_object_unref (pixbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
create_page3 (GtkWidget *assistant)
|
create_page3 (GtkWidget *assistant)
|
||||||
{
|
{
|
||||||
GtkWidget *label;
|
GtkWidget *label;
|
||||||
|
GdkPixbuf *pixbuf;
|
||||||
|
|
||||||
label = gtk_label_new ("This is a confirmation page, press 'Apply' to apply changes");
|
label = gtk_label_new ("This is a confirmation page, press 'Apply' to apply changes");
|
||||||
|
|
||||||
@@ -138,27 +151,30 @@ create_page3 (GtkWidget *assistant)
|
|||||||
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), label, GTK_ASSISTANT_PAGE_CONFIRM);
|
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), label, GTK_ASSISTANT_PAGE_CONFIRM);
|
||||||
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), label, TRUE);
|
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), label, TRUE);
|
||||||
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), label, "Confirmation");
|
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), label, "Confirmation");
|
||||||
|
|
||||||
|
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
|
||||||
|
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), label, pixbuf);
|
||||||
|
g_object_unref (pixbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
create_page4 (GtkWidget *assistant)
|
create_page4 (GtkWidget *assistant)
|
||||||
{
|
{
|
||||||
progress_bar = gtk_progress_bar_new ();
|
GtkWidget *page;
|
||||||
gtk_widget_set_halign (progress_bar, GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_valign (progress_bar, GTK_ALIGN_CENTER);
|
|
||||||
gtk_widget_set_hexpand (progress_bar, TRUE);
|
|
||||||
gtk_widget_set_margin_start (progress_bar, 40);
|
|
||||||
gtk_widget_set_margin_end (progress_bar, 40);
|
|
||||||
|
|
||||||
gtk_widget_show (progress_bar);
|
page = gtk_alignment_new (0.5, 0.5, 0.5, 0.0);
|
||||||
gtk_assistant_append_page (GTK_ASSISTANT (assistant), progress_bar);
|
|
||||||
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), progress_bar, GTK_ASSISTANT_PAGE_PROGRESS);
|
progress_bar = gtk_progress_bar_new ();
|
||||||
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), progress_bar, "Applying changes");
|
gtk_container_add (GTK_CONTAINER (page), progress_bar);
|
||||||
|
|
||||||
|
gtk_widget_show_all (page);
|
||||||
|
gtk_assistant_append_page (GTK_ASSISTANT (assistant), page);
|
||||||
|
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS);
|
||||||
|
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, "Applying changes");
|
||||||
|
|
||||||
/* This prevents the assistant window from being
|
/* This prevents the assistant window from being
|
||||||
* closed while we're "busy" applying changes.
|
* closed while we're "busy" applying changes. */
|
||||||
*/
|
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, FALSE);
|
||||||
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), progress_bar, FALSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget*
|
GtkWidget*
|
||||||
@@ -168,10 +184,10 @@ do_assistant (GtkWidget *do_widget)
|
|||||||
{
|
{
|
||||||
assistant = gtk_assistant_new ();
|
assistant = gtk_assistant_new ();
|
||||||
|
|
||||||
gtk_window_set_default_size (GTK_WINDOW (assistant), -1, 300);
|
gtk_window_set_default_size (GTK_WINDOW (assistant), -1, 300);
|
||||||
|
|
||||||
gtk_window_set_display (GTK_WINDOW (assistant),
|
gtk_window_set_screen (GTK_WINDOW (assistant),
|
||||||
gtk_widget_get_display (do_widget));
|
gtk_widget_get_screen (do_widget));
|
||||||
|
|
||||||
create_page1 (assistant);
|
create_page1 (assistant);
|
||||||
create_page2 (assistant);
|
create_page2 (assistant);
|
||||||
@@ -179,13 +195,13 @@ do_assistant (GtkWidget *do_widget)
|
|||||||
create_page4 (assistant);
|
create_page4 (assistant);
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (assistant), "cancel",
|
g_signal_connect (G_OBJECT (assistant), "cancel",
|
||||||
G_CALLBACK (on_assistant_close_cancel), &assistant);
|
G_CALLBACK (on_assistant_close_cancel), &assistant);
|
||||||
g_signal_connect (G_OBJECT (assistant), "close",
|
g_signal_connect (G_OBJECT (assistant), "close",
|
||||||
G_CALLBACK (on_assistant_close_cancel), &assistant);
|
G_CALLBACK (on_assistant_close_cancel), &assistant);
|
||||||
g_signal_connect (G_OBJECT (assistant), "apply",
|
g_signal_connect (G_OBJECT (assistant), "apply",
|
||||||
G_CALLBACK (on_assistant_apply), NULL);
|
G_CALLBACK (on_assistant_apply), NULL);
|
||||||
g_signal_connect (G_OBJECT (assistant), "prepare",
|
g_signal_connect (G_OBJECT (assistant), "prepare",
|
||||||
G_CALLBACK (on_assistant_prepare), NULL);
|
G_CALLBACK (on_assistant_prepare), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gtk_widget_get_visible (assistant))
|
if (!gtk_widget_get_visible (assistant))
|
||||||
|
@@ -1,337 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<interface>
|
|
||||||
<requires lib="gtk+" version="3.20"/>
|
|
||||||
<object class="GtkWindow" id="window">
|
|
||||||
<property name="resizable">0</property>
|
|
||||||
<property name="title">CSS Blend Modes</property>
|
|
||||||
<property name="default-width">400</property>
|
|
||||||
<property name="default-height">300</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkGrid">
|
|
||||||
<property name="row-spacing">12</property>
|
|
||||||
<property name="column-spacing">12</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Blend mode:</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<style>
|
|
||||||
<class name="dim-label"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkScrolledWindow" id="scrolledwindow">
|
|
||||||
<property name="can-focus">1</property>
|
|
||||||
<property name="vexpand">1</property>
|
|
||||||
<property name="shadow-type">in</property>
|
|
||||||
<property name="min-content-width">150</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkStackSwitcher">
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<property name="stack">stack</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkStack" id="stack">
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<property name="vexpand">1</property>
|
|
||||||
<property name="hhomogeneous">0</property>
|
|
||||||
<property name="vhomogeneous">0</property>
|
|
||||||
<property name="transition-type">crossfade</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkStackPage">
|
|
||||||
<property name="name">page0</property>
|
|
||||||
<property name="title" translatable="yes">Ducky</property>
|
|
||||||
<property name="child">
|
|
||||||
<object class="GtkGrid">
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="vexpand">1</property>
|
|
||||||
<property name="row-spacing">12</property>
|
|
||||||
<property name="column-spacing">12</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Duck</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Background</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<style>
|
|
||||||
<class name="duck"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<style>
|
|
||||||
<class name="gradient"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">
|
|
||||||
Blended picture</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">2</property>
|
|
||||||
<property name="column-span">2</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<style>
|
|
||||||
<class name="blend0"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">3</property>
|
|
||||||
<property name="column-span">2</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkStackPage">
|
|
||||||
<property name="name">page1</property>
|
|
||||||
<property name="title" translatable="yes">Blends</property>
|
|
||||||
<property name="child">
|
|
||||||
<object class="GtkGrid">
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="vexpand">1</property>
|
|
||||||
<property name="row-spacing">12</property>
|
|
||||||
<property name="column-spacing">12</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Red</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Blue</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<style>
|
|
||||||
<class name="red"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<style>
|
|
||||||
<class name="blue"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">
|
|
||||||
Blended picture</property>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">2</property>
|
|
||||||
<property name="column-span">2</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<style>
|
|
||||||
<class name="blend1"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">3</property>
|
|
||||||
<property name="column-span">2</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkStackPage">
|
|
||||||
<property name="name">page2</property>
|
|
||||||
<property name="title" translatable="yes">CMYK</property>
|
|
||||||
<property name="child">
|
|
||||||
<object class="GtkGrid">
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<property name="valign">center</property>
|
|
||||||
<property name="hexpand">1</property>
|
|
||||||
<property name="vexpand">1</property>
|
|
||||||
<property name="row-spacing">6</property>
|
|
||||||
<property name="column-spacing">12</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<style>
|
|
||||||
<class name="cyan"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<style>
|
|
||||||
<class name="magenta"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<style>
|
|
||||||
<class name="yellow"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">3</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkImage">
|
|
||||||
<property name="halign">center</property>
|
|
||||||
<style>
|
|
||||||
<class name="blend2"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">3</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Cyan</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<style>
|
|
||||||
<class name="dim-label"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Magenta</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<style>
|
|
||||||
<class name="dim-label"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">0</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Yellow</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<style>
|
|
||||||
<class name="dim-label"/>
|
|
||||||
</style>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">0</property>
|
|
||||||
<property name="top-attach">2</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel">
|
|
||||||
<property name="label" translatable="yes">Blended picture</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<attributes>
|
|
||||||
<attribute name="weight" value="bold"></attribute>
|
|
||||||
</attributes>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">2</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<layout>
|
|
||||||
<property name="left-attach">1</property>
|
|
||||||
<property name="top-attach">1</property>
|
|
||||||
</layout>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="titlebar"/>
|
|
||||||
</object>
|
|
||||||
</interface>
|
|
Before Width: | Height: | Size: 788 B |
@@ -1,482 +0,0 @@
|
|||||||
/*
|
|
||||||
* bluroverlay.c
|
|
||||||
* This file is part of gtk
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 - Ignacio Casal Quinteiro, Mike Krüger
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "bluroverlay.h"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is a cut-down copy of gtkoverlay.c with a custom snapshot
|
|
||||||
* function that support a limited form of blur-under.
|
|
||||||
*/
|
|
||||||
typedef struct _BlurOverlayChild BlurOverlayChild;
|
|
||||||
|
|
||||||
struct _BlurOverlayChild
|
|
||||||
{
|
|
||||||
double blur;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
GET_CHILD_POSITION,
|
|
||||||
LAST_SIGNAL
|
|
||||||
};
|
|
||||||
|
|
||||||
static guint signals[LAST_SIGNAL] = { 0 };
|
|
||||||
static GQuark child_data_quark = 0;
|
|
||||||
|
|
||||||
G_DEFINE_TYPE (BlurOverlay, blur_overlay, GTK_TYPE_BIN)
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_set_overlay_child (GtkWidget *widget,
|
|
||||||
BlurOverlayChild *child_data)
|
|
||||||
{
|
|
||||||
g_object_set_qdata_full (G_OBJECT (widget), child_data_quark, child_data, g_free);
|
|
||||||
}
|
|
||||||
|
|
||||||
static BlurOverlayChild *
|
|
||||||
blur_overlay_get_overlay_child (GtkWidget *widget)
|
|
||||||
{
|
|
||||||
return (BlurOverlayChild *) g_object_get_qdata (G_OBJECT (widget), child_data_quark);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_measure (GtkWidget *widget,
|
|
||||||
GtkOrientation orientation,
|
|
||||||
int for_size,
|
|
||||||
int *minimum,
|
|
||||||
int *natural,
|
|
||||||
int *minimum_baseline,
|
|
||||||
int *natural_baseline)
|
|
||||||
{
|
|
||||||
GtkWidget *child;
|
|
||||||
|
|
||||||
for (child = gtk_widget_get_first_child (widget);
|
|
||||||
child != NULL;
|
|
||||||
child = gtk_widget_get_next_sibling (child))
|
|
||||||
{
|
|
||||||
int child_min, child_nat, child_min_baseline, child_nat_baseline;
|
|
||||||
|
|
||||||
gtk_widget_measure (child,
|
|
||||||
orientation,
|
|
||||||
for_size,
|
|
||||||
&child_min, &child_nat,
|
|
||||||
&child_min_baseline, &child_nat_baseline);
|
|
||||||
|
|
||||||
*minimum = MAX (*minimum, child_min);
|
|
||||||
*natural = MAX (*natural, child_nat);
|
|
||||||
if (child_min_baseline > -1)
|
|
||||||
*minimum_baseline = MAX (*minimum_baseline, child_min_baseline);
|
|
||||||
if (child_nat_baseline > -1)
|
|
||||||
*natural_baseline = MAX (*natural_baseline, child_nat_baseline);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_compute_child_allocation (BlurOverlay *overlay,
|
|
||||||
GtkWidget *widget,
|
|
||||||
BlurOverlayChild *child,
|
|
||||||
GtkAllocation *widget_allocation)
|
|
||||||
{
|
|
||||||
GtkAllocation allocation;
|
|
||||||
gboolean result;
|
|
||||||
|
|
||||||
g_signal_emit (overlay, signals[GET_CHILD_POSITION],
|
|
||||||
0, widget, &allocation, &result);
|
|
||||||
|
|
||||||
widget_allocation->x = allocation.x;
|
|
||||||
widget_allocation->y = allocation.y;
|
|
||||||
widget_allocation->width = allocation.width;
|
|
||||||
widget_allocation->height = allocation.height;
|
|
||||||
}
|
|
||||||
|
|
||||||
static GtkAlign
|
|
||||||
effective_align (GtkAlign align,
|
|
||||||
GtkTextDirection direction)
|
|
||||||
{
|
|
||||||
switch (align)
|
|
||||||
{
|
|
||||||
case GTK_ALIGN_START:
|
|
||||||
return direction == GTK_TEXT_DIR_RTL ? GTK_ALIGN_END : GTK_ALIGN_START;
|
|
||||||
case GTK_ALIGN_END:
|
|
||||||
return direction == GTK_TEXT_DIR_RTL ? GTK_ALIGN_START : GTK_ALIGN_END;
|
|
||||||
case GTK_ALIGN_FILL:
|
|
||||||
case GTK_ALIGN_CENTER:
|
|
||||||
case GTK_ALIGN_BASELINE:
|
|
||||||
default:
|
|
||||||
return align;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_child_update_style_classes (BlurOverlay *overlay,
|
|
||||||
GtkWidget *child,
|
|
||||||
GtkAllocation *child_allocation)
|
|
||||||
{
|
|
||||||
int width, height;
|
|
||||||
GtkAlign valign, halign;
|
|
||||||
gboolean is_left, is_right, is_top, is_bottom;
|
|
||||||
gboolean has_left, has_right, has_top, has_bottom;
|
|
||||||
GtkStyleContext *context;
|
|
||||||
|
|
||||||
context = gtk_widget_get_style_context (child);
|
|
||||||
has_left = gtk_style_context_has_class (context, GTK_STYLE_CLASS_LEFT);
|
|
||||||
has_right = gtk_style_context_has_class (context, GTK_STYLE_CLASS_RIGHT);
|
|
||||||
has_top = gtk_style_context_has_class (context, GTK_STYLE_CLASS_TOP);
|
|
||||||
has_bottom = gtk_style_context_has_class (context, GTK_STYLE_CLASS_BOTTOM);
|
|
||||||
|
|
||||||
is_left = is_right = is_top = is_bottom = FALSE;
|
|
||||||
|
|
||||||
width = gtk_widget_get_width (GTK_WIDGET (overlay));
|
|
||||||
height = gtk_widget_get_height (GTK_WIDGET (overlay));
|
|
||||||
|
|
||||||
halign = effective_align (gtk_widget_get_halign (child),
|
|
||||||
gtk_widget_get_direction (child));
|
|
||||||
|
|
||||||
if (halign == GTK_ALIGN_START)
|
|
||||||
is_left = (child_allocation->x == 0);
|
|
||||||
else if (halign == GTK_ALIGN_END)
|
|
||||||
is_right = (child_allocation->x + child_allocation->width == width);
|
|
||||||
|
|
||||||
valign = gtk_widget_get_valign (child);
|
|
||||||
|
|
||||||
if (valign == GTK_ALIGN_START)
|
|
||||||
is_top = (child_allocation->y == 0);
|
|
||||||
else if (valign == GTK_ALIGN_END)
|
|
||||||
is_bottom = (child_allocation->y + child_allocation->height == height);
|
|
||||||
|
|
||||||
if (has_left && !is_left)
|
|
||||||
gtk_style_context_remove_class (context, GTK_STYLE_CLASS_LEFT);
|
|
||||||
else if (!has_left && is_left)
|
|
||||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_LEFT);
|
|
||||||
|
|
||||||
if (has_right && !is_right)
|
|
||||||
gtk_style_context_remove_class (context, GTK_STYLE_CLASS_RIGHT);
|
|
||||||
else if (!has_right && is_right)
|
|
||||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_RIGHT);
|
|
||||||
|
|
||||||
if (has_top && !is_top)
|
|
||||||
gtk_style_context_remove_class (context, GTK_STYLE_CLASS_TOP);
|
|
||||||
else if (!has_top && is_top)
|
|
||||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_TOP);
|
|
||||||
|
|
||||||
if (has_bottom && !is_bottom)
|
|
||||||
gtk_style_context_remove_class (context, GTK_STYLE_CLASS_BOTTOM);
|
|
||||||
else if (!has_bottom && is_bottom)
|
|
||||||
gtk_style_context_add_class (context, GTK_STYLE_CLASS_BOTTOM);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_child_allocate (BlurOverlay *overlay,
|
|
||||||
GtkWidget *widget,
|
|
||||||
BlurOverlayChild *child)
|
|
||||||
{
|
|
||||||
GtkAllocation child_allocation;
|
|
||||||
|
|
||||||
if (!gtk_widget_get_visible (widget))
|
|
||||||
return;
|
|
||||||
|
|
||||||
blur_overlay_compute_child_allocation (overlay, widget, child, &child_allocation);
|
|
||||||
|
|
||||||
blur_overlay_child_update_style_classes (overlay, widget, &child_allocation);
|
|
||||||
gtk_widget_size_allocate (widget, &child_allocation, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_size_allocate (GtkWidget *widget,
|
|
||||||
int width,
|
|
||||||
int height,
|
|
||||||
int baseline)
|
|
||||||
{
|
|
||||||
BlurOverlay *overlay = BLUR_OVERLAY (widget);
|
|
||||||
GtkWidget *child;
|
|
||||||
GtkWidget *main_widget;
|
|
||||||
|
|
||||||
main_widget = gtk_bin_get_child (GTK_BIN (overlay));
|
|
||||||
if (main_widget && gtk_widget_get_visible (main_widget))
|
|
||||||
gtk_widget_size_allocate (main_widget,
|
|
||||||
&(GtkAllocation) {
|
|
||||||
0, 0,
|
|
||||||
width, height
|
|
||||||
}, -1);
|
|
||||||
|
|
||||||
for (child = gtk_widget_get_first_child (widget);
|
|
||||||
child != NULL;
|
|
||||||
child = gtk_widget_get_next_sibling (child))
|
|
||||||
{
|
|
||||||
if (child != main_widget)
|
|
||||||
{
|
|
||||||
BlurOverlayChild *child_data = blur_overlay_get_overlay_child (child);
|
|
||||||
blur_overlay_child_allocate (overlay, child, child_data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
blur_overlay_get_child_position (BlurOverlay *overlay,
|
|
||||||
GtkWidget *widget,
|
|
||||||
GtkAllocation *alloc)
|
|
||||||
{
|
|
||||||
GtkRequisition min, req;
|
|
||||||
GtkAlign halign;
|
|
||||||
GtkTextDirection direction;
|
|
||||||
int width, height;
|
|
||||||
|
|
||||||
gtk_widget_get_preferred_size (widget, &min, &req);
|
|
||||||
width = gtk_widget_get_width (GTK_WIDGET (overlay));
|
|
||||||
height = gtk_widget_get_height (GTK_WIDGET (overlay));
|
|
||||||
|
|
||||||
alloc->x = 0;
|
|
||||||
alloc->width = MAX (min.width, MIN (width, req.width));
|
|
||||||
|
|
||||||
direction = gtk_widget_get_direction (widget);
|
|
||||||
|
|
||||||
halign = gtk_widget_get_halign (widget);
|
|
||||||
switch (effective_align (halign, direction))
|
|
||||||
{
|
|
||||||
case GTK_ALIGN_START:
|
|
||||||
/* nothing to do */
|
|
||||||
break;
|
|
||||||
case GTK_ALIGN_FILL:
|
|
||||||
alloc->width = MAX (alloc->width, width);
|
|
||||||
break;
|
|
||||||
case GTK_ALIGN_CENTER:
|
|
||||||
alloc->x += width / 2 - alloc->width / 2;
|
|
||||||
break;
|
|
||||||
case GTK_ALIGN_END:
|
|
||||||
alloc->x += width - alloc->width;
|
|
||||||
break;
|
|
||||||
case GTK_ALIGN_BASELINE:
|
|
||||||
default:
|
|
||||||
g_assert_not_reached ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
alloc->y = 0;
|
|
||||||
alloc->height = MAX (min.height, MIN (height, req.height));
|
|
||||||
|
|
||||||
switch (gtk_widget_get_valign (widget))
|
|
||||||
{
|
|
||||||
case GTK_ALIGN_START:
|
|
||||||
/* nothing to do */
|
|
||||||
break;
|
|
||||||
case GTK_ALIGN_FILL:
|
|
||||||
alloc->height = MAX (alloc->height, height);
|
|
||||||
break;
|
|
||||||
case GTK_ALIGN_CENTER:
|
|
||||||
alloc->y += height / 2 - alloc->height / 2;
|
|
||||||
break;
|
|
||||||
case GTK_ALIGN_END:
|
|
||||||
alloc->y += height - alloc->height;
|
|
||||||
break;
|
|
||||||
case GTK_ALIGN_BASELINE:
|
|
||||||
default:
|
|
||||||
g_assert_not_reached ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_add (GtkContainer *container,
|
|
||||||
GtkWidget *widget)
|
|
||||||
{
|
|
||||||
BlurOverlay *overlay = BLUR_OVERLAY (container);
|
|
||||||
gtk_widget_insert_after (widget, GTK_WIDGET (container), NULL);
|
|
||||||
overlay->main_widget = widget;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_remove (GtkContainer *container,
|
|
||||||
GtkWidget *widget)
|
|
||||||
{
|
|
||||||
BlurOverlay *overlay = BLUR_OVERLAY (container);
|
|
||||||
gtk_widget_unparent (widget);
|
|
||||||
if (overlay->main_widget == widget)
|
|
||||||
overlay->main_widget = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_forall (GtkContainer *overlay,
|
|
||||||
GtkCallback callback,
|
|
||||||
gpointer callback_data)
|
|
||||||
{
|
|
||||||
GtkWidget *child;
|
|
||||||
|
|
||||||
child = gtk_widget_get_first_child (GTK_WIDGET (overlay));
|
|
||||||
while (child != NULL)
|
|
||||||
{
|
|
||||||
GtkWidget *next = gtk_widget_get_next_sibling (child);
|
|
||||||
|
|
||||||
(* callback) (child, callback_data);
|
|
||||||
|
|
||||||
child = next;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_snapshot (GtkWidget *widget,
|
|
||||||
GtkSnapshot *snapshot)
|
|
||||||
{
|
|
||||||
GtkWidget *main_widget;
|
|
||||||
GskRenderNode *main_widget_node = NULL;
|
|
||||||
GtkWidget *child;
|
|
||||||
GtkAllocation main_alloc;
|
|
||||||
cairo_region_t *clip = NULL;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
main_widget = BLUR_OVERLAY (widget)->main_widget;
|
|
||||||
gtk_widget_get_allocation (widget, &main_alloc);
|
|
||||||
|
|
||||||
for (child = gtk_widget_get_first_child (widget);
|
|
||||||
child != NULL;
|
|
||||||
child = gtk_widget_get_next_sibling (child))
|
|
||||||
{
|
|
||||||
BlurOverlayChild *child_info = blur_overlay_get_overlay_child (child);
|
|
||||||
double blur = 0;
|
|
||||||
if (child_info)
|
|
||||||
blur = child_info->blur;
|
|
||||||
|
|
||||||
if (blur > 0)
|
|
||||||
{
|
|
||||||
GtkAllocation alloc;
|
|
||||||
graphene_rect_t bounds;
|
|
||||||
|
|
||||||
if (main_widget_node == NULL)
|
|
||||||
{
|
|
||||||
GtkSnapshot *child_snapshot;
|
|
||||||
|
|
||||||
child_snapshot = gtk_snapshot_new ();
|
|
||||||
gtk_widget_snapshot_child (widget, main_widget, child_snapshot);
|
|
||||||
main_widget_node = gtk_snapshot_free_to_node (child_snapshot);
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_widget_get_allocation (child, &alloc);
|
|
||||||
graphene_rect_init (&bounds, alloc.x, alloc.y, alloc.width, alloc.height);
|
|
||||||
gtk_snapshot_push_blur (snapshot, blur);
|
|
||||||
gtk_snapshot_push_clip (snapshot, &bounds);
|
|
||||||
gtk_snapshot_append_node (snapshot, main_widget_node);
|
|
||||||
gtk_snapshot_pop (snapshot);
|
|
||||||
gtk_snapshot_pop (snapshot);
|
|
||||||
|
|
||||||
if (clip == NULL)
|
|
||||||
{
|
|
||||||
cairo_rectangle_int_t rect;
|
|
||||||
rect.x = rect.y = 0;
|
|
||||||
rect.width = main_alloc.width;
|
|
||||||
rect.height = main_alloc.height;
|
|
||||||
clip = cairo_region_create_rectangle (&rect);
|
|
||||||
}
|
|
||||||
cairo_region_subtract_rectangle (clip, (cairo_rectangle_int_t *)&alloc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (clip == NULL)
|
|
||||||
{
|
|
||||||
for (child = gtk_widget_get_first_child (widget);
|
|
||||||
child != NULL;
|
|
||||||
child = gtk_widget_get_next_sibling (child))
|
|
||||||
{
|
|
||||||
gtk_widget_snapshot_child (widget, child, snapshot);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < cairo_region_num_rectangles (clip); i++)
|
|
||||||
{
|
|
||||||
cairo_rectangle_int_t rect;
|
|
||||||
graphene_rect_t bounds;
|
|
||||||
|
|
||||||
cairo_region_get_rectangle (clip, i, &rect);
|
|
||||||
graphene_rect_init (&bounds, rect.x, rect.y, rect.width, rect.height);
|
|
||||||
gtk_snapshot_push_clip (snapshot, &bounds);
|
|
||||||
gtk_snapshot_append_node (snapshot, main_widget_node);
|
|
||||||
gtk_snapshot_pop (snapshot);
|
|
||||||
}
|
|
||||||
|
|
||||||
cairo_region_destroy (clip);
|
|
||||||
|
|
||||||
for (child = gtk_widget_get_first_child (widget);
|
|
||||||
child != NULL;
|
|
||||||
child = gtk_widget_get_next_sibling (child))
|
|
||||||
{
|
|
||||||
if (child != main_widget)
|
|
||||||
gtk_widget_snapshot_child (widget, child, snapshot);
|
|
||||||
}
|
|
||||||
|
|
||||||
gsk_render_node_unref (main_widget_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_class_init (BlurOverlayClass *klass)
|
|
||||||
{
|
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
|
||||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
|
|
||||||
GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
|
|
||||||
|
|
||||||
widget_class->measure = blur_overlay_measure;
|
|
||||||
widget_class->size_allocate = blur_overlay_size_allocate;
|
|
||||||
widget_class->snapshot = blur_overlay_snapshot;
|
|
||||||
|
|
||||||
container_class->add = blur_overlay_add;
|
|
||||||
container_class->remove = blur_overlay_remove;
|
|
||||||
container_class->forall = blur_overlay_forall;
|
|
||||||
|
|
||||||
klass->get_child_position = blur_overlay_get_child_position;
|
|
||||||
|
|
||||||
signals[GET_CHILD_POSITION] =
|
|
||||||
g_signal_new ("get-child-position",
|
|
||||||
G_TYPE_FROM_CLASS (object_class),
|
|
||||||
G_SIGNAL_RUN_LAST,
|
|
||||||
G_STRUCT_OFFSET (BlurOverlayClass, get_child_position),
|
|
||||||
g_signal_accumulator_true_handled, NULL,
|
|
||||||
NULL,
|
|
||||||
G_TYPE_BOOLEAN, 2,
|
|
||||||
GTK_TYPE_WIDGET,
|
|
||||||
GDK_TYPE_RECTANGLE | G_SIGNAL_TYPE_STATIC_SCOPE);
|
|
||||||
|
|
||||||
child_data_quark = g_quark_from_static_string ("gtk-overlay-child-data");
|
|
||||||
|
|
||||||
gtk_widget_class_set_css_name (widget_class, "overlay");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
blur_overlay_init (BlurOverlay *overlay)
|
|
||||||
{
|
|
||||||
gtk_widget_set_has_surface (GTK_WIDGET (overlay), FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
GtkWidget *
|
|
||||||
blur_overlay_new (void)
|
|
||||||
{
|
|
||||||
return g_object_new (BLUR_TYPE_OVERLAY, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
blur_overlay_add_overlay (BlurOverlay *overlay,
|
|
||||||
GtkWidget *widget,
|
|
||||||
double blur)
|
|
||||||
{
|
|
||||||
BlurOverlayChild *child = g_new0 (BlurOverlayChild, 1);
|
|
||||||
|
|
||||||
gtk_widget_insert_before (widget, GTK_WIDGET (overlay), NULL);
|
|
||||||
|
|
||||||
child->blur = blur;
|
|
||||||
|
|
||||||
blur_overlay_set_overlay_child (widget, child);
|
|
||||||
}
|
|
@@ -1,65 +0,0 @@
|
|||||||
/*
|
|
||||||
* bluroverlay.h
|
|
||||||
* This file is part of gtk
|
|
||||||
*
|
|
||||||
* Copyright (C) 2011 - Ignacio Casal Quinteiro, Mike Krüger
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __BLUR_OVERLAY_H__
|
|
||||||
#define __BLUR_OVERLAY_H__
|
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define BLUR_TYPE_OVERLAY (blur_overlay_get_type ())
|
|
||||||
#define BLUR_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BLUR_TYPE_OVERLAY, BlurOverlay))
|
|
||||||
#define BLUR_OVERLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BLUR_TYPE_OVERLAY, BlurOverlayClass))
|
|
||||||
#define BLUR_IS_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BLUR_TYPE_OVERLAY))
|
|
||||||
#define BLUR_IS_OVERLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BLUR_TYPE_OVERLAY))
|
|
||||||
#define BLUR_OVERLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BLUR_TYPE_OVERLAY, BlurOverlayClass))
|
|
||||||
|
|
||||||
typedef struct _BlurOverlay BlurOverlay;
|
|
||||||
typedef struct _BlurOverlayClass BlurOverlayClass;
|
|
||||||
|
|
||||||
struct _BlurOverlay
|
|
||||||
{
|
|
||||||
GtkBin parent_instance;
|
|
||||||
|
|
||||||
GtkWidget *main_widget;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _BlurOverlayClass
|
|
||||||
{
|
|
||||||
GtkBinClass parent_class;
|
|
||||||
|
|
||||||
gboolean (*get_child_position) (BlurOverlay *overlay,
|
|
||||||
GtkWidget *widget,
|
|
||||||
GtkAllocation *allocation);
|
|
||||||
};
|
|
||||||
|
|
||||||
GDK_AVAILABLE_IN_ALL
|
|
||||||
GType blur_overlay_get_type (void) G_GNUC_CONST;
|
|
||||||
GDK_AVAILABLE_IN_ALL
|
|
||||||
GtkWidget *blur_overlay_new (void);
|
|
||||||
GDK_AVAILABLE_IN_ALL
|
|
||||||
void blur_overlay_add_overlay (BlurOverlay *overlay,
|
|
||||||
GtkWidget *widget,
|
|
||||||
double blur);
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif /* __BLUR_OVERLAY_H__ */
|
|
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 10 KiB |