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

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

?? gtksignal.sgml

?? linux下電話本所依賴的一些圖形庫
?? SGML
?? 第 1 頁 / 共 2 頁
字號:
<!-- ##### SECTION Title ##### -->Signals<!-- ##### SECTION Short_Description ##### -->Object methods and callbacks<!-- ##### SECTION Long_Description ##### --><para>The GTK+ signal system merely proxies the GLib signal system now. For future usage, direct use of the <link linkend="gobject-Signals">GSignal</link> API is recommended, this avoids significant performance hits where #GtkArg structures have to be converted into #GValue<!-- -->s.</para><refsect2><title>What are signals?</title><para>Signals are a way to get notification when something happensand to customize object behavior according to theuser's needs.Every <wordasword>signal</wordasword> is uniquely identified by a name,"class_name::signal_name", where signal_name might be something like"clicked" and class_name might be "GtkButton".  Note that some other classmay also define a "clicked" callback, so long as it doesn't derive from#GtkButton.</para><para>When they are created, they are also assigned a unique positive integer,the signal id (1 is the first signal id- 0 is used to flag an error).Each is also tied to an array of types that describesthe prototype of the function pointer(s) (handlers) you mayconnect to the signal.  Finally, every signal hasa default handler that is given by a function pointerin its class structure:  it is run by default whenever thesignal is emitted.  (It is possible that a signal willbe emitted and a user-defined handler will prevent the default handlerfrom being run.)</para><para>Signals are used by everyone, but they are onlycreated on a per class basis -- so you should not callcall gtk_signal_new() unless you are writinga new #GtkObject type.  However, if you want to make a new signalfor an existing type, you may use gtk_object_class_user_signal_new()to create a signal that doesn't correspond to a class's builtinmethods.</para></refsect2><refsect2><title>How are signals used?</title><para>There are two basic actions in the signal handling game.If you want notification of an event, you must <emphasis>connect</emphasis>a function pointer and a data pointer to that signal;  the data pointerwill be passed as the last argument to the function (so long as youare using the default marshalling functions).You will receive a connection id, a unique positive integercorresponding to that attachment.</para><para>Functions that want to notify the user of certain actions,<emphasis>emit</emphasis> signals.</para></refsect2><refsect2><title>Basic Terminology</title><variablelist><varlistentry><term>signal</term><listitem><para>A class method, e.g. GtkButton::clicked.More precisely it is a unique class-branch/signal-name pair.This means you may not define a signal handler for a class whichderives from #GtkButton that is called clicked,but it is okay to share signals names if they are separate inthe class tree.</para></listitem></varlistentry><varlistentry><term>default handler</term><listitem><para>The object's internal method which is invokedwhen the signal is emitted.</para></listitem></varlistentry><varlistentry><term>user-defined handler</term><listitem><para>A function pointer and data connectedto a signal (for a particular object).</para><para>There are really two types: those which are connectednormally, and those which are connected by one of the connect_after functions.  The connect_after handlersare always run after the default handler.</para><para>Many toolkits refer to these as <wordasword>callbacks</wordasword>.</para></listitem></varlistentry><varlistentry><term>emission</term><listitem><para>the whole process of emitting a signal,including the invocation of allthe different handler types mentioned above.</para></listitem></varlistentry><varlistentry><term>signal id</term><listitem><para>The unique positive (nonzero) integerused to identify a signal.  It can be used instead of a name to many functions for a slight performanceimprovement.</para></listitem></varlistentry><varlistentry><term>connection id</term><listitem><para>The unique positive (nonzero) integerused to identify the connection of a user-defined handlerto a signal.  Notice that it is allowed to connect thesame function-pointer/user-data pair twice, sothere is no guarantee that a function-pointer/user-datamaps to a unique connection id.</para></listitem></varlistentry></variablelist></refsect2><refsect2><title>A brief note on how they work.</title><para>The functions responsible for translating an array of #GtkArgsto your C compiler's normal semantics are called Marshallers.They are identified bygtk_marshal_<replaceable>return_value</replaceable>__<replaceable>parameter_list</replaceable>()for example a C function returning a gboolean and taking a gintcan be invoked by using gtk_marshal_BOOL__INT().Not all possibly combinations of return/params are available,of course, so if you are writing a #GtkObject with parametersyou might have to write a marshaller.</para></refsect2><!-- ##### SECTION See_Also ##### --><para><variablelist><varlistentry><term>#GtkObject</term><listitem><para>The base class for things which emit signals.</para></listitem></varlistentry><varlistentry><term><link linkend="gobject-Signals">GSignal</link></term><listitem><para>The GLib signal system.</para></listitem></varlistentry></variablelist></para><!-- ##### SECTION Stability_Level ##### --><!-- ##### MACRO GTK_SIGNAL_OFFSET ##### --><para>Use in place of <function>offsetof()</function>, which is used if it exists.</para><!-- # Unused Parameters # -->@struct: @field: <!-- ##### ENUM GtkSignalRunType ##### --><para>These configure the signal's emission.  They controlwhether the signal can be emitted recursively on an objectandwhether to run the default method before or after the user-defined handlers.</para><variablelist><varlistentry><term>GTK_RUN_FIRST</term><listitem><para>Run the default handler before the connected user-definedhandlers.</para></listitem></varlistentry><varlistentry><term>GTK_RUN_LAST</term><listitem><para>Run the default handler after the connecteduser-defined handlers.(Handlers registered as "after" always run after the default handler though)</para></listitem></varlistentry><varlistentry><term>GTK_RUN_BOTH</term><listitem><para>Run the default handler twice,once before the user-defined handlers,andonce after.</para></listitem></varlistentry><varlistentry><term>GTK_RUN_NO_RECURSE</term><listitem><para>Whether to prevent a handler or hookfrom reemitting the signal from within itself.Attempts toemit the signal while it is running will result in the signalemission being restarted once it is done with the current processing.</para><para>You must becareful to avoid having two handlers endlessly reemitting signals,gtk_signal_n_emissions() can be helpful.</para></listitem></varlistentry><varlistentry><term>GTK_RUN_ACTION</term><listitem><para>The signal is an action you can invoke without any particular setup or cleanup.The signal is treated no differently, but someother code can determine if the signal is appropriate todelegate to user control.  For example, key binding setsonly allow bindings of ACTION signals to keystrokes.</para></listitem></varlistentry><varlistentry><term>GTK_RUN_NO_HOOKS</term><listitem><para>This prevents the connection of emission hooksto the signal.</para></listitem></varlistentry></variablelist>@GTK_RUN_FIRST: @GTK_RUN_LAST: @GTK_RUN_BOTH: @GTK_RUN_NO_RECURSE: @GTK_RUN_ACTION: @GTK_RUN_NO_HOOKS: <!-- ##### FUNCTION gtk_signal_new ##### --><para>Creates a new signal type.  (This is usually done in theclass initializer.)</para>@name: the event name for the signal, e.g. "clicked".@signal_flags: a combination of #GTK_RUN flagsspecifying detail of when the default handler is to be invoked.You should at least specify #GTK_RUN_FIRSTor #GTK_RUN_LAST.@object_type: the type of object this signal pertains to.It will also pertain to derivers of this type automatically.@function_offset: How many bytes the function pointer is inthe class structure for this type.  Used to invoke a classmethod generically.@marshaller: the function to translate between an arrayof GtkArgs and the native calling convention.  Usually theyare identified just by the type of arguments they take:for example, gtk_marshal_BOOL__STRING() describes a marshallerwhich takes a string and returns a boolean value.@return_val: the type of return value, or #GTK_TYPE_NONE for a signalwithout a return value.@n_args: the number of parameter the handlers may take.@Varargs: a list of #GTK_TYPE_*, one for each parameter.@Returns: the signal id.@Deprecated: Use g_signal_new() instead.<!-- ##### FUNCTION gtk_signal_newv ##### --><para>Creates a new signal type.  (This is usually done in aclass initializer.)</para><para>This function take the types as an array, instead of a listfollowing the arguments.  Otherwise the same as gtk_signal_new().</para>@name: the name of the signal to create.@signal_flags: see gtk_signal_new().@object_type: the type of #GtkObject to associate the signal with.@function_offset: how many bytes the function pointer is inthe class structure for this type.@marshaller: @return_val: the type of the return value, or #GTK_TYPE_NONE ifyou don't want a return value.@n_args: the number of parameters to the user-defined handlers.@args: an array of #GtkType<!---->s, describing the prototype tothe callbacks.@Returns: the signal id.@Deprecated: Use g_signal_newv() instead.<!-- ##### MACRO gtk_signal_lookup ##### --><para>Given the name of the signal and the type of object it connectsto, get the signal's identifying integer.  Emitting the signalby number is somewhat faster than using the name each time.</para><para>It also tries the ancestors of the given type.</para>@name: the signal's name, e.g. clicked.@object_type: the type that the signal operates on, e.g. #GTK_TYPE_BUTTON.@Returns: the signal's identifying number, or 0 if no signal was found.@Deprecated: Use g_signal_lookup() instead.<!-- ##### MACRO gtk_signal_name ##### --><para>Given the signal's identifier, finds its name.</para><para>Two different signals may have the same name, if they have differing types.</para>@signal_id: the signal's identifying number.@Returns: the signal name, or %NULL if the signal number was invalid.@Deprecated: Use g_signal_name() instead.<!-- ##### FUNCTION gtk_signal_emit ##### --><para>Emits a signal.  This causes the default handler and user-definedhandlers to be run.</para><para>Here is what gtk_signal_emit() does:</para><para>1.  Calls the default handler and the user-connected handlers.The default handler will be called first if#GTK_RUN_FIRST is set, and last if #GTK_RUN_LAST is set.</para><para>2.  Calls all handlers connected with the "after" flag set.</para>@object: the object that emits the signal.@signal_id: the signal identifier.@Varargs: the parameters to the function, followedby a pointer to the return type, if any.@Deprecated: Use g_signal_emit() instead.<!-- ##### FUNCTION gtk_signal_emit_by_name ##### --><para>Emits a signal.  This causes the default handler and user-connectedhandlers to be run.</para>@object: the object that emits the signal.@name: the name of the signal.@Varargs: the parameters to the function, followedby a pointer to the return type, if any.@Deprecated: Use g_signal_emit_by_name() instead.<!-- ##### FUNCTION gtk_signal_emitv ##### --><para>Emits a signal.  This causes the default handler and user-connectedhandlers to be run.  This differs from gtk_signal_emit() by takingan array of GtkArgs instead of using C's varargs mechanism.</para>@object: the object to emit the signal to.@signal_id: the signal identifier.@args: an array of GtkArgs, one for each parameter,followed by one which is a pointer to the return type.@Deprecated: Use g_signal_emitv() instead.<!-- ##### FUNCTION gtk_signal_emitv_by_name ##### -->

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线精品免费| 一区二区三区在线影院| 欧美在线观看你懂的| 久久99这里只有精品| 亚洲国产欧美在线| 日韩毛片视频在线看| 欧美激情一区二区在线| 337p日本欧洲亚洲大胆精品| 欧美日韩亚洲综合一区| 在线观看国产91| 9l国产精品久久久久麻豆| 久久精品噜噜噜成人av农村| 日韩综合一区二区| 午夜私人影院久久久久| 亚洲国产精品一区二区www| 亚洲日本青草视频在线怡红院| 亚洲一区二区三区爽爽爽爽爽| 亚洲国产精品t66y| 欧美激情综合五月色丁香| 久久久99久久| 久久久久久久综合日本| 精品久久国产97色综合| 久久久久久电影| 中文字幕av免费专区久久| 中文字幕成人av| 欧美激情综合五月色丁香| 欧美一级xxx| 欧美精品一区二区三区视频| 国产日韩欧美在线一区| 国产精品美女久久久久久久| 国产精品高潮久久久久无| 精品免费99久久| 国产精品网曝门| 一区二区三区四区亚洲| 午夜精品aaa| 国产最新精品精品你懂的| 国产精品一区二区三区网站| av网站免费线看精品| 欧美日韩亚洲综合一区二区三区| 日韩一区二区精品| 国产精品第五页| 亚洲va欧美va人人爽| 精品一区二区在线看| 成人性生交大片免费| 欧美日韩和欧美的一区二区| 欧美成人女星排名| 亚洲欧美一区二区久久 | 亚洲在线视频免费观看| 视频一区中文字幕| 国产露脸91国语对白| 99这里只有精品| 7777女厕盗摄久久久| 久久色在线观看| 日韩毛片精品高清免费| 美女网站色91| 色婷婷综合久久久中文一区二区 | 亚洲激情五月婷婷| 美女视频第一区二区三区免费观看网站| 国产一区二区视频在线| 91在线免费看| 日韩精品专区在线影院观看| 亚洲精品视频在线观看免费| 久久成人免费网| 在线观看视频一区二区| 国产亚洲欧美激情| 天堂久久一区二区三区| 北岛玲一区二区三区四区| 在线91免费看| 亚洲人成精品久久久久| 国产一区二区三区不卡在线观看| 在线日韩av片| 亚洲日本丝袜连裤袜办公室| 国产精品一区二区免费不卡 | www.久久精品| 精品少妇一区二区三区在线视频 | 国产视频一区二区在线观看| 亚洲成a人片在线不卡一二三区| 成人av电影观看| 亚洲精品一区二区三区影院| 天天影视网天天综合色在线播放| www.久久久久久久久| 国产亚洲va综合人人澡精品| 日本欧美在线看| 欧美精品三级在线观看| 亚洲综合在线五月| 91久久精品一区二区| 亚洲三级电影全部在线观看高清| thepron国产精品| 精品久久久久久久久久久久包黑料| 亚洲bt欧美bt精品777| 色拍拍在线精品视频8848| 国产精品不卡一区二区三区| 白白色 亚洲乱淫| 国产精品福利在线播放| 成人做爰69片免费看网站| 国产亚洲欧美中文| 国产高清成人在线| 欧美国产日韩一二三区| 成人黄色免费短视频| 中文字幕的久久| 95精品视频在线| 亚洲免费三区一区二区| 色综合天天综合| 日韩电影网1区2区| 日韩一区二区三区免费看| 久久精品国产99| 国产三级久久久| 波多野结衣精品在线| 日韩一区欧美一区| 在线视频中文字幕一区二区| 亚洲sss视频在线视频| 欧美久久一区二区| 日本不卡视频一二三区| 日韩欧美国产一区二区三区| 久久成人18免费观看| 久久久.com| 99视频在线精品| 亚洲综合色丁香婷婷六月图片| 欧美精品在线一区二区三区| 日本不卡视频一二三区| 国产日韩精品一区二区浪潮av | 成人美女视频在线看| 1024亚洲合集| 欧美日韩五月天| 日本午夜精品一区二区三区电影| 日韩亚洲欧美成人一区| 国产福利一区在线| 亚洲精品成人少妇| 日韩免费观看高清完整版| 国产寡妇亲子伦一区二区| 亚洲精品视频一区| 欧美一区二区三区系列电影| 国产伦精一区二区三区| 亚洲精品乱码久久久久| 日韩一级二级三级| 高清视频一区二区| 午夜欧美大尺度福利影院在线看| 久久综合九色综合97_久久久| 不卡的看片网站| 日日夜夜免费精品| 久久久久国产精品免费免费搜索| 97久久超碰精品国产| 美日韩一区二区| 亚洲精品欧美专区| 久久久国产综合精品女国产盗摄| 91成人在线观看喷潮| 国产永久精品大片wwwapp | 亚洲资源在线观看| www久久精品| 在线视频一区二区免费| 国产盗摄一区二区三区| 偷拍一区二区三区| 成人欧美一区二区三区视频网页 | 欧美无砖砖区免费| 国产成a人亚洲精品| 久久精品国产精品亚洲综合| 亚洲夂夂婷婷色拍ww47| 中文字幕不卡三区| 日韩欧美一级特黄在线播放| 在线观看精品一区| www.在线欧美| 国产不卡免费视频| 久久成人综合网| 五月天欧美精品| 亚洲精品久久久蜜桃| 国产精品国产自产拍在线| 久久网这里都是精品| 欧美成人午夜电影| 日韩亚洲电影在线| 欧美日韩国产综合一区二区 | 麻豆成人av在线| 亚洲精选视频在线| 中文字幕中文乱码欧美一区二区 | 精品一区二区三区免费毛片爱| 亚洲第一综合色| 亚洲丝袜制服诱惑| 亚洲欧美日韩国产另类专区| 综合久久久久久久| 国产精品成人网| 亚洲人成网站在线| 亚洲精品综合在线| 亚洲午夜一区二区| 亚洲成年人网站在线观看| 亚洲国产精品久久一线不卡| 亚洲资源中文字幕| 亚洲成人自拍偷拍| 同产精品九九九| 奇米影视一区二区三区小说| 免费观看30秒视频久久| 精彩视频一区二区三区| 国内欧美视频一区二区 | 一区二区在线观看视频 | 精品国产不卡一区二区三区| 久久免费国产精品| 国产精品久久久久久妇女6080| 国产精品天天看| 一区二区三区四区蜜桃| 亚洲v中文字幕| 青青草伊人久久| 国产在线精品一区在线观看麻豆|