[Glade-devel] possible inconsistency in .glade files



--=-mD3BGlqxBU48yn/kidYu
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Hi,

I've do some tests with Glade-2 and when saving them into .glade files I
realized that it seems to be a inconsistency related with internal-
children.

For example, save a GtkWindow with a GtkFrame on it (frame.glade) and
save a GtkFileChooserDialog (filechooser.glade). These widgets, frame
and dialog, have both internal children: The Frame has a 'label-widget'
property that is the internal child, the FileChooserDialog has 'vbox'
and 'action_area' properties. I attach the files for reference.

When saved, the frame just use another regular <child> for the label and
use a packing property to know that it is a internal children. The
dialog use the special <child internal-child=""> tag for the vbox and
action_area, which, in my opinion is the way to go.

Is this a bug? Is there a special reason to handle the Frame like this?

-- 
Lorenzo Gil Sanchez <lgs sicem biz>

--=-mD3BGlqxBU48yn/kidYu
Content-Disposition: attachment; filename=file-chooser.glade
Content-Type: application/x-glade; name=file-chooser.glade
Content-Transfer-Encoding: 7bit

<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>

<glade-interface>

<widget class="GtkFileChooserDialog" id="filechooserdialog1">
  <property name="visible">True</property>
  <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
  <property name="local_only">True</property>
  <property name="select_multiple">False</property>
  <property name="show_hidden">False</property>
  <property name="type">GTK_WINDOW_TOPLEVEL</property>
  <property name="window_position">GTK_WIN_POS_NONE</property>
  <property name="modal">False</property>
  <property name="resizable">True</property>
  <property name="destroy_with_parent">False</property>
  <property name="decorated">True</property>
  <property name="skip_taskbar_hint">False</property>
  <property name="skip_pager_hint">False</property>
  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>

  <child internal-child="vbox">
    <widget class="GtkVBox" id="dialog-vbox1">
      <property name="visible">True</property>
      <property name="homogeneous">False</property>
      <property name="spacing">24</property>

      <child internal-child="action_area">
        <widget class="GtkHButtonBox" id="dialog-action_area1">
          <property name="visible">True</property>
          <property name="layout_style">GTK_BUTTONBOX_END</property>

          <child>
            <widget class="GtkButton" id="button1">
              <property name="visible">True</property>
              <property name="can_default">True</property>
              <property name="can_focus">True</property>
              <property name="label">gtk-cancel</property>
              <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="focus_on_click">True</property>
              <property name="response_id">-6</property>
            </widget>
          </child>

          <child>
            <widget class="GtkButton" id="button2">
              <property name="visible">True</property>
              <property name="can_default">True</property>
              <property name="has_default">True</property>
              <property name="can_focus">True</property>
              <property name="label">gtk-open</property>
              <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="focus_on_click">True</property>
              <property name="response_id">-5</property>
            </widget>
          </child>
        </widget>
        <packing>
          <property name="padding">0</property>
          <property name="expand">False</property>
          <property name="fill">True</property>
          <property name="pack_type">GTK_PACK_END</property>
        </packing>
      </child>
    </widget>
  </child>
</widget>

</glade-interface>

--=-mD3BGlqxBU48yn/kidYu
Content-Disposition: attachment; filename=frame.glade
Content-Type: application/x-glade; name=frame.glade
Content-Transfer-Encoding: 7bit

<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>

<glade-interface>

<widget class="GtkWindow" id="window1">
  <property name="visible">True</property>
  <property name="title" translatable="yes">window1</property>
  <property name="type">GTK_WINDOW_TOPLEVEL</property>
  <property name="window_position">GTK_WIN_POS_NONE</property>
  <property name="modal">False</property>
  <property name="resizable">True</property>
  <property name="destroy_with_parent">False</property>
  <property name="decorated">True</property>
  <property name="skip_taskbar_hint">False</property>
  <property name="skip_pager_hint">False</property>
  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>

  <child>
    <widget class="GtkFrame" id="frame1">
      <property name="visible">True</property>
      <property name="label_xalign">0</property>
      <property name="label_yalign">0.5</property>
      <property name="shadow_type">GTK_SHADOW_NONE</property>

      <child>
        <widget class="GtkAlignment" id="alignment1">
          <property name="visible">True</property>
          <property name="xalign">0.5</property>
          <property name="yalign">0.5</property>
          <property name="xscale">1</property>
          <property name="yscale">1</property>
          <property name="top_padding">0</property>
          <property name="bottom_padding">0</property>
          <property name="left_padding">12</property>
          <property name="right_padding">0</property>

          <child>
            <widget class="GtkButton" id="button1">
              <property name="visible">True</property>
              <property name="can_focus">True</property>
              <property name="label" translatable="yes">button1</property>
              <property name="use_underline">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="focus_on_click">True</property>
            </widget>
          </child>
        </widget>
      </child>

      <child>
        <widget class="GtkLabel" id="label1">
          <property name="visible">True</property>
          <property name="label" translatable="yes">&lt;b&gt;ejemplo de frame&lt;/b&gt;</property>
          <property name="use_underline">False</property>
          <property name="use_markup">True</property>
          <property name="justify">GTK_JUSTIFY_LEFT</property>
          <property name="wrap">False</property>
          <property name="selectable">False</property>
          <property name="xalign">0.5</property>
          <property name="yalign">0.5</property>
          <property name="xpad">0</property>
          <property name="ypad">0</property>
        </widget>
        <packing>
          <property name="type">label_item</property>
        </packing>
      </child>
    </widget>
  </child>
</widget>

</glade-interface>

--=-mD3BGlqxBU48yn/kidYu--





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]