SameBoy/gtk3/resources/ui/vram_viewer_window.ui

526 lines
26 KiB
Plaintext
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
2021-01-03 18:07:48 +00:00
<!--
The MIT License (MIT)
2021-01-03 18:07:48 +00:00
Copyright (c) 2015-2021 Lior Halphon
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Author: Maximilian Mader
-->
<interface>
<requires lib="gtk+" version="3.22"/>
<!-- interface-license-type mit -->
<!-- interface-name SameBoy -->
<!-- interface-description SameBoy is an open source Game Boy (DMG) and Game Boy Color (CGB) emulator, written in portable C. -->
2021-01-03 18:07:48 +00:00
<!-- interface-copyright 2015-2021 Lior Halphon -->
<!-- interface-authors Maximilian Mader -->
<template class="VramViewerWindow">
<property name="can_focus">False</property>
<property name="title" translatable="yes">VRAM Viewer</property>
<property name="resizable">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">3</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkStackSwitcher">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="margin_start">10</property>
<property name="margin_end">10</property>
<property name="stack">stack</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkStack" id="stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hhomogeneous">False</property>
<property name="vhomogeneous">False</property>
<property name="transition_type">slide-left-right</property>
<property name="interpolate_size">True</property>
<signal name="notify::visible-child" handler="visible_tab_changed" swapped="no"/>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
<property name="margin_bottom">3</property>
<child>
<object class="GtkComboBoxText" id="tileset_palette_selector">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="active">0</property>
<property name="active_id">bg0</property>
<items>
<item id="bg0" translatable="yes">Background Palette 0</item>
<item id="bg1" translatable="yes">Background Palette 1</item>
<item id="bg2" translatable="yes">Background Palette 2</item>
<item id="bg3" translatable="yes">Background Palette 3</item>
<item id="bg4" translatable="yes">Background Palette 4</item>
<item id="bg5" translatable="yes">Background Palette 5</item>
<item id="bg6" translatable="yes">Background Palette 6</item>
<item id="bg7" translatable="yes">Background Palette 7</item>
<item translatable="yes">&lt;separator&gt;</item>
<item id="obj0" translatable="yes">Object Palette 0</item>
<item id="obj1" translatable="yes">Object Palette 1</item>
<item id="obj2" translatable="yes">Object Palette 2</item>
<item id="obj3" translatable="yes">Object Palette 3</item>
<item id="obj4" translatable="yes">Object Palette 4</item>
<item id="obj5" translatable="yes">Object Palette 5</item>
<item id="obj6" translatable="yes">Object Palette 6</item>
<item id="obj7" translatable="yes">Object Palette 7</item>
</items>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="tileset_toggle_grid_button">
<property name="label" translatable="yes">Grid</property>
<property name="width_request">70</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="vram-viewer-button-bar"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkDrawingArea" id="tileset_canvas">
<property name="width_request">512</property>
<property name="height_request">384</property>
<property name="visible">True</property>
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<signal name="draw" handler="draw_tileset_canvas" swapped="no"/>
<signal name="motion-notify-event" handler="tileset_canvas_motion" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="name">tileset</property>
<property name="title" translatable="yes">Tileset</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
<property name="spacing">3</property>
<child>
<object class="GtkComboBoxText" id="tilemap_palette_selector">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="active">0</property>
<property name="active_id">auto</property>
<items>
<item id="auto" translatable="yes">Effective Palettes</item>
<item translatable="yes">&lt;separator&gt;</item>
<item id="bg0" translatable="yes">Background Palette 0</item>
<item id="bg1" translatable="yes">Background Palette 1</item>
<item id="bg2" translatable="yes">Background Palette 2</item>
<item id="bg3" translatable="yes">Background Palette 3</item>
<item id="bg4" translatable="yes">Background Palette 4</item>
<item id="bg5" translatable="yes">Background Palette 5</item>
<item id="bg6" translatable="yes">Background Palette 6</item>
<item id="bg7" translatable="yes">Background Palette 7</item>
<item translatable="yes">&lt;separator&gt;</item>
<item id="obj0" translatable="yes">Object Palette 0</item>
<item id="obj1" translatable="yes">Object Palette 1</item>
<item id="obj2" translatable="yes">Object Palette 2</item>
<item id="obj3" translatable="yes">Object Palette 3</item>
<item id="obj4" translatable="yes">Object Palette 4</item>
<item id="obj5" translatable="yes">Object Palette 5</item>
<item id="obj6" translatable="yes">Object Palette 6</item>
<item id="obj7" translatable="yes">Object Palette 7</item>
</items>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="tilemap_tilemap_selector">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="active">0</property>
<property name="active_id">auto</property>
<items>
<item id="auto" translatable="yes">Effective Tilemap</item>
<item translatable="yes">&lt;separator&gt;</item>
<item id="9800" translatable="yes">Tilemap at $9800</item>
<item id="9C00" translatable="yes">Tilemap at $9C00</item>
</items>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="tilemap_toggle_grid_button">
<property name="label" translatable="yes">Grid</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="margin_start">2</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="tilemap_toggle_scrolling_button">
<property name="label" translatable="yes">Scrolling</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="margin_start">2</property>
<property name="margin_end">2</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="tilemap_tileset_selector">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="active">0</property>
<property name="active_id">auto</property>
<items>
<item id="auto" translatable="yes">Effective Tileset</item>
<item translatable="yes">&lt;separator&gt;</item>
<item id="8800" translatable="yes">Tileset at $8800</item>
<item id="8000" translatable="yes">Tileset at $8000</item>
</items>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<style>
<class name="vram-viewer-button-bar"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkDrawingArea" id="tilemap_canvas">
<property name="width_request">512</property>
<property name="height_request">512</property>
<property name="visible">True</property>
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<property name="hexpand">False</property>
<property name="vexpand">False</property>
<signal name="draw" handler="draw_tilemap_canvas" swapped="no"/>
<signal name="motion-notify-event" handler="tilemap_canvas_motion" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="name">tilemap</property>
<property name="title" translatable="yes">Tilemap</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="width_request">512</property>
<property name="height_request">512</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="sprites">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_clickable">False</property>
<property name="enable_search">False</property>
<property name="show_expanders">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="min_width">32</property>
<child>
<object class="GtkCellRendererPixbuf"/>
<attributes>
<attribute name="pixbuf">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">X</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Y</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Tile</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Tile Addr.</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">4</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">OAM Addr.</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Attributes</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">6</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="name">sprites</property>
<property name="title" translatable="yes">Sprites</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkTreeView" id="palettes">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
<property name="headers_clickable">False</property>
<property name="enable_search">False</property>
<property name="show_expanders">False</property>
<style>
<class name="monospace"/>
</style>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Type</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Color 0</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="palette_cell_renderer_0"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Color 1</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="palette_cell_renderer_1"/>
<attributes>
<attribute name="text">3</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Color 2</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="palette_cell_renderer_2"/>
<attributes>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Color 3</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="palette_cell_renderer_3"/>
<attributes>
<attribute name="text">7</attribute>
</attributes>
</child>
</object>
</child>
</object>
<packing>
<property name="name">palettes</property>
<property name="title" translatable="yes">Palettes</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="status">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">5</property>
<property name="justify">center</property>
<property name="single_line_mode">True</property>
<property name="track_visited_links">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
<placeholder/>
</child>
</template>
</interface>