亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sec-widgetindetail.html

?? gtk_text program sample&eg
?? HTML
?? 第 1 頁 / 共 4 頁
字號:
  g_return_if_fail (GTK_IS_BIN (container));  g_return_if_fail (child != NULL);  g_return_if_fail (GTK_IS_WIDGET (child));  bin = GTK_BIN (container);  g_return_if_fail (bin-&gt;child == child);  widget_was_visible = GTK_WIDGET_VISIBLE (child);    gtk_widget_unparent (child);  bin-&gt;child = NULL;    if (widget_was_visible)    gtk_widget_queue_resize (GTK_WIDGET (container));}    </pre>              </td>            </tr>          </table>          <p>            A remove method is little more than a wrapper for <tt            class="FUNCTION">gtk_widget_unparent</tt> that queues a            resize if necessary. Most remove methods would check            the container's <span class="STRUCTNAME">            GTK_VISIBLE</span> flag before queueing a resize, just            as <tt class="FUNCTION">gtk_bin_add()</tt> does; <tt            class="CLASSNAME">GtkBin</tt> does not because toplevel            widgets like <tt class="CLASSNAME">GtkWindow</tt>            derive from it, and those widgets always queue a            resize, regardless of visibility.          </p>        </div>        <div class="SECT3">          <h3 class="SECT3">            <a name="Z163">Iterating Over Children</a>          </h3>          <p>            Containers have a <span class="STRUCTNAME">            forall</span> method for iterating over their children;            <span class="STRUCTNAME">GtkContainer</span>'s default            methods use <span class="STRUCTNAME">forall</span>,            since they know nothing about the data members in            subclasses' instance structs. The <span class=             "STRUCTNAME">forall</span> method invokes a callback on            each child, with the provided callback data as the            second argument. Obviously it's going to be trivial for            <tt class="CLASSNAME">GtkBin</tt>:          </p>          <table border="0" bgcolor="#E0E0E0" width="100%">            <tr>              <td><pre class="PROGRAMLISTING">&#13;static voidgtk_bin_forall (GtkContainer *container,                gboolean      include_internals,                GtkCallback   callback,                gpointer      callback_data){  GtkBin *bin;  g_return_if_fail (container != NULL);  g_return_if_fail (GTK_IS_BIN (container));  g_return_if_fail (callback != NULL);  bin = GTK_BIN (container);  if (bin-&gt;child)    (* callback) (bin-&gt;child, callback_data);}    </pre>              </td>            </tr>          </table>          <p>            You may notice that <tt class="CLASSNAME">GtkBin</tt>            ignores the <span class="STRUCTNAME">            include_internals</span> argument. Some containers have            "incidental" child widgets in addition to the            user-provided children they are primarily designed to            hold. For example, <tt class="CLASSNAME">            GtkNotebook</tt> has a widget labelling each of its            tabs; <tt class="CLASSNAME">GtkCList</tt> uses buttons            to title each column in the list. These internal            widgets must be included in the iteration in many            cases; for example, when drawing each child in a            container, or destroying each child in a container.            However, some operations only operate on the "primary"            children, such as the pages in <tt class="CLASSNAME">            GtkNotebook</tt>. The <span class="STRUCTNAME">            include_internals</span> flag indicates whether to            invoke the callback on incidental widgets.          </p>          <p>            Convenience functions are provided that invoke the            <span class="STRUCTNAME">forall</span> method; these            are used by application authors as well as <tt class=             "CLASSNAME">GtkContainer</tt> internals. <tt class=             "FUNCTION">gtk_container_foreach()</tt> iterates over            only the primary children of a container, while <tt            class="FUNCTION">gtk_container_forall()</tt> iterates            over all the children.          </p>        </div>        <div class="SECT3">          <h3 class="SECT3">            <a name="Z164">Child Type</a>          </h3>          <p>            The <span class="STRUCTNAME">child_type</span> method            returns the type of children a container can hold. For            example, a <tt class="CLASSNAME">GtkMenuShell</tt>            (parent class of <tt class="CLASSNAME">GtkMenu</tt> and            <tt class="CLASSNAME">GtkMenuBar</tt>) can only hold            children of type <span class="STRUCTNAME">            GTK_TYPE_MENU_ITEM</span>. The <span class=            "STRUCTNAME">child_type</span> method allows GUI            builders and scripting languages to determine at            runtime what sort of children a container will accept.            <span class="STRUCTNAME">GTK_TYPE_NONE</span> indicates            that a container will not accept children at this time,            for whatever reason.          </p>          <p>            The <tt class="CLASSNAME">GtkBin</tt> implementation            accepts <span class="STRUCTNAME">GTK_TYPE_WIDGET</span>            if the bin is empty, and <span class="STRUCTNAME">            GTK_TYPE_NONE</span> if the bin already contains a            child:          </p>          <table border="0" bgcolor="#E0E0E0" width="100%">            <tr>              <td><pre class="PROGRAMLISTING">&#13;static GtkTypegtk_bin_child_type (GtkContainer *container){  if (!GTK_BIN (container)-&gt;child)    return GTK_TYPE_WIDGET;  else    return GTK_TYPE_NONE;}    </pre>              </td>            </tr>          </table>        </div>        <div class="SECT3">          <h3 class="SECT3">            <a name="Z165">Other <tt class="CLASSNAME">GtkBin</tt>            Functionality</a>          </h3>          <p>            <tt class="CLASSNAME">GtkBin</tt> also provides default            implementations of expose, map, unmap, and draw from            <span class="STRUCTNAME">GtkWidgetClass</span>. Most            <tt class="CLASSNAME">GtkBin</tt> subclasses will            override these methods to handle the unique features of            the subclass, but chain up to the <tt class=            "CLASSNAME">GtkBin</tt> method to deal with their child            widget.          </p>          <p>            The <tt class="CLASSNAME">GtkBin</tt> map and unmap            implementations are mostly the usual boilerplate (set            <span class="STRUCTNAME">GTK_MAPPED</span>, show <span            class="STRUCTNAME">widget-&gt;window</span>) but they            add an important step unique to containers: mapping the            child if it has been shown (remember that <span class=             "STRUCTNAME">GTK_VISIBLE</span> signals a widget has            been shown), and unmapping the child when the bin is            unmapped. Here's the code:          </p>          <table border="0" bgcolor="#E0E0E0" width="100%">            <tr>              <td><pre class="PROGRAMLISTING">&#13;static voidgtk_bin_map (GtkWidget *widget){  GtkBin *bin;  g_return_if_fail (widget != NULL);  g_return_if_fail (GTK_IS_BIN (widget));  GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);  bin = GTK_BIN (widget);  if (bin-&gt;child &amp;&amp;      GTK_WIDGET_VISIBLE (bin-&gt;child) &amp;&amp;      !GTK_WIDGET_MAPPED (bin-&gt;child))    gtk_widget_map (bin-&gt;child);  if (!GTK_WIDGET_NO_WINDOW (widget))    gdk_window_show (widget-&gt;window);}static voidgtk_bin_unmap (GtkWidget *widget){  GtkBin *bin;  g_return_if_fail (widget != NULL);  g_return_if_fail (GTK_IS_BIN (widget));  GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);  bin = GTK_BIN (widget);  if (GTK_WIDGET_NO_WINDOW (widget))     gtk_widget_queue_clear (widget);  else    gdk_window_hide (widget-&gt;window);  if (bin-&gt;child &amp;&amp; GTK_WIDGET_MAPPED (bin-&gt;child))    gtk_widget_unmap (bin-&gt;child);}    </pre>              </td>            </tr>          </table>          <p>            <tt class="CLASSNAME">GtkBin</tt>'s draw and expose            implementations simply redraw the child widget; most            subclasses will need to override these methods in order            to draw themselves, then chain up to draw the child.            The code:          </p>          <table border="0" bgcolor="#E0E0E0" width="100%">            <tr>              <td><pre class="PROGRAMLISTING">&#13;static voidgtk_bin_draw (GtkWidget    *widget,              GdkRectangle *area){  GtkBin *bin;  GdkRectangle child_area;  g_return_if_fail (widget != NULL);  g_return_if_fail (GTK_IS_BIN (widget));  bin = GTK_BIN (widget);  if (GTK_WIDGET_DRAWABLE (bin))    {      if (bin-&gt;child &amp;&amp; GTK_WIDGET_DRAWABLE (bin-&gt;child) &amp;&amp;          gtk_widget_intersect (bin-&gt;child, area, &amp;child_area))        gtk_widget_draw (bin-&gt;child, &amp;child_area);    }}static gintgtk_bin_expose (GtkWidget      *widget,                GdkEventExpose *event){  GtkBin *bin;  GdkEventExpose child_event;  g_return_val_if_fail (widget != NULL, FALSE);  g_return_val_if_fail (GTK_IS_BIN (widget), FALSE);  g_return_val_if_fail (event != NULL, FALSE);  if (GTK_WIDGET_DRAWABLE (widget))    {      bin = GTK_BIN (widget);      child_event = *event;      if (bin-&gt;child &amp;&amp; GTK_WIDGET_DRAWABLE (bin-&gt;child) &amp;&amp;          GTK_WIDGET_NO_WINDOW (bin-&gt;child) &amp;&amp;          gtk_widget_intersect (bin-&gt;child, &amp;event-&gt;area, &amp;child_event.area))        gtk_widget_event (bin-&gt;child, (GdkEvent*) &amp;child_event);    }  return FALSE;}    </pre>              </td>            </tr>          </table>          <p>            Notice that expose events are only generated for            windowless widgets; widgets with windows will receive            their own expose events. Containers are required to            generate expose events for windowless children.          </p>          <p>            You can probably guess that <tt class="FUNCTION">            gtk_widget_intersect()</tt> determines the intersection            of a rectangle and a child widget.          </p>        </div>      </div>    </div>    <div class="NAVFOOTER">      <br>      <br>      <table width="100%" border="0" bgcolor="#ffffff" cellpadding=       "1" cellspacing="0">        <tr>          <td width="25%" bgcolor="#ffffff" align="left">            <a href="z147.html"><font color="#0000ff" size="2"><b>            &lt;&lt;&lt; Previous</b></font></a>          </td>          <td width="25%" colspan="2" bgcolor="#ffffff" align=           "center">            <font color="#0000ff" size="2"><b><a href="ggad.html">            <font color="#0000ff" size="2"><b>            Home</b></font></a></b></font>          </td>          <td width="25%" bgcolor="#ffffff" align="right">            <a href="z166.html"><font color="#0000ff" size="2"><b>            Next &gt;&gt;&gt;</b></font></a>          </td>        </tr>        <tr>          <td colspan="2" align="left">            <font color="#000000" size="2"><b>An Example: The <tt            class="CLASSNAME">GtkEv</tt> Widget</b></font>          </td>          <td colspan="2" align="right">            <font color="#000000" size="2"><b><tt class=            "CLASSNAME">GtkVBox</tt>: A Windowless            Container</b></font>          </td>        </tr>      </table>    </div>  </body></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本欧美天堂| 日韩电影在线看| 国产欧美视频一区二区| 精品欧美黑人一区二区三区| 久久精品人人爽人人爽| 中文字幕一区二区三区四区不卡| 亚洲福利视频导航| 福利电影一区二区三区| 欧美日韩一区二区电影| 欧美国产一区在线| 韩国成人精品a∨在线观看| 色综合久久88色综合天天| 久久久久久免费网| 捆绑变态av一区二区三区 | 日韩欧美国产精品一区| 亚洲人快播电影网| 丰满岳乱妇一区二区三区| 精品国产污网站| 日本伊人午夜精品| 欧美日本视频在线| 尤物在线观看一区| 91黄色激情网站| 亚洲国产综合色| 欧美日韩国产高清一区二区三区| 国产精品传媒入口麻豆| 不卡视频免费播放| 综合激情成人伊人| 欧美日韩一卡二卡三卡| 日本视频一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 日本系列欧美系列| 欧美精品 日韩| 精品一区二区三区免费| 中文字幕一区日韩精品欧美| 色悠悠久久综合| 丝袜美腿亚洲一区二区图片| 久久久久青草大香线综合精品| 成人午夜在线播放| 亚洲国产成人高清精品| 精品毛片乱码1区2区3区| 成人国产精品免费观看| 免费成人性网站| 一区二区三区91| 国产农村妇女毛片精品久久麻豆| 91免费看片在线观看| 美女一区二区三区| 亚洲国产日产av| 中文字幕乱码日本亚洲一区二区| 欧美日韩你懂的| 不卡av在线免费观看| 激情久久五月天| 亚洲电影在线免费观看| 亚洲天堂2016| 中文字幕巨乱亚洲| 久久久精品影视| 日韩精品一区二区三区蜜臀| 欧美亚洲高清一区二区三区不卡| kk眼镜猥琐国模调教系列一区二区| 日韩成人午夜精品| 日韩电影免费在线看| 中文字幕在线观看不卡视频| 国产色产综合色产在线视频| 国产亚洲午夜高清国产拍精品| 日韩丝袜情趣美女图片| 久久久不卡网国产精品二区| 精品国产sm最大网站| 2欧美一区二区三区在线观看视频| 欧美日本一道本在线视频| 91精品中文字幕一区二区三区| 欧美精品久久一区| 国产亚洲精品aa| 一区二区三区欧美日| 婷婷国产在线综合| 国产乱码精品一区二区三| 国产.欧美.日韩| 欧美视频在线一区二区三区| 日韩一区二区三区三四区视频在线观看| 欧亚洲嫩模精品一区三区| 欧美高清你懂得| 国产精品国产三级国产| 免费看日韩a级影片| 国产盗摄精品一区二区三区在线| 99re8在线精品视频免费播放| 欧美日本在线播放| 亚洲日本在线视频观看| 麻豆精品精品国产自在97香蕉| 国产成人免费网站| 日韩欧美一级精品久久| 一级精品视频在线观看宜春院| 国产美女久久久久| 欧美电视剧免费观看| 亚洲一区在线观看网站| 91在线视频播放| 中文字幕亚洲一区二区av在线| 久久91精品久久久久久秒播| 欧美色中文字幕| 一区av在线播放| 色婷婷国产精品综合在线观看| 国产精品水嫩水嫩| 99久久久久久| 亚洲大尺度视频在线观看| 成人国产精品免费观看视频| 国产女同互慰高潮91漫画| 国产精品一品视频| 欧美国产1区2区| 99免费精品在线观看| 一区二区三区视频在线观看| 欧美三级韩国三级日本三斤| 亚洲成av人片观看| 日韩欧美一区在线| 99久久精品国产一区二区三区| 国产精品乱码人人做人人爱| 欧美日韩高清在线播放| 精久久久久久久久久久| 欧美韩国日本不卡| 欧美日韩成人综合| 国产美女精品在线| 亚洲国产精品久久久久秋霞影院| 日韩免费看的电影| 97超碰欧美中文字幕| 精品一区二区三区在线播放视频 | 国产精品久久久久久久岛一牛影视| 成人精品国产福利| 精品一区二区久久久| 国产精品久久网站| 精品福利一区二区三区| 欧美日韩一区二区在线观看| 国产在线精品免费| 日韩不卡免费视频| 亚洲国产精品久久人人爱| 国产日韩精品一区二区三区 | 日韩免费福利电影在线观看| 91美女片黄在线观看| 九九热在线视频观看这里只有精品| 国产精品成人免费精品自在线观看| 欧美一级日韩不卡播放免费| 在线91免费看| 欧美一区二区三区视频免费播放| 日本精品免费观看高清观看| 99国产精品久| 欧美性色综合网| 欧美高清dvd| 精品国产不卡一区二区三区| 精品欧美乱码久久久久久1区2区| 欧美剧情片在线观看| 日韩你懂的在线观看| 国产视频亚洲色图| 自拍偷拍国产精品| 亚洲成人久久影院| 国内一区二区在线| 成人激情开心网| 欧美视频第二页| 欧美精品一区二区三区视频| 久久精品夜色噜噜亚洲a∨| 国产日产精品一区| 亚洲国产cao| 成人在线综合网| 欧美成人精品高清在线播放| 欧美国产日韩在线观看| 亚洲一区二区三区在线看| 激情成人综合网| 欧美午夜精品免费| 中文字幕欧美激情| 精品一区二区在线观看| 91麻豆免费看片| 国产亚洲欧美激情| 丝袜美腿亚洲一区| 91久久精品一区二区三区| 久久久欧美精品sm网站| 日韩精品一卡二卡三卡四卡无卡| 国产91精品一区二区麻豆网站| 欧美日韩大陆在线| 亚洲午夜私人影院| 欧美综合一区二区三区| 日韩伦理免费电影| aaa亚洲精品| 亚洲天堂久久久久久久| 99久久精品国产网站| 中文在线资源观看网站视频免费不卡| 九色porny丨国产精品| 精品剧情在线观看| 极品少妇xxxx偷拍精品少妇| 日韩一区二区三区在线观看| 丝袜美腿亚洲综合| 精品国产一区二区三区四区四 | 91免费国产在线观看| 国产日韩v精品一区二区| 国产ts人妖一区二区| 自拍偷拍亚洲综合| 91美女片黄在线观看| 亚洲成av人片在线| 久久精品视频在线看| 97精品国产97久久久久久久久久久久| 亚洲天堂精品视频| 宅男在线国产精品| 成人永久免费视频| 日本sm残虐另类| 亚洲国产精品传媒在线观看| 欧美日韩在线免费视频| 国产成人精品www牛牛影视|