<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://techbase.kde.org/skins/common/feed.css?0.2"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;feed=atom&amp;action=history</id>
		<title>Development/Architecture/KDE3/Action Pattern - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;action=history"/>
		<updated>2013-06-18T05:07:30Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=8945&amp;oldid=prev</id>
		<title>Dhaumann: Development/Architecture/KDE 3 Architecture/Action Pattern moved to Development/Architecture/KDE3/Action Pattern</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=8945&amp;oldid=prev"/>
				<updated>2007-03-11T21:35:15Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=Development/Architecture/KDE_3_Architecture/Action_Pattern&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Development/Architecture/KDE 3 Architecture/Action Pattern (page does not exist)&quot;&gt;Development/Architecture/KDE 3 Architecture/Action Pattern&lt;/a&gt; moved to &lt;a href=&quot;/Development/Architecture/KDE3/Action_Pattern&quot; title=&quot;Development/Architecture/KDE3/Action Pattern&quot;&gt;Development/Architecture/KDE3/Action Pattern&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:35, 11 March 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Dhaumann</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=7660&amp;oldid=prev</id>
		<title>Dhaumann: Category:Architecture</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=7660&amp;oldid=prev"/>
				<updated>2007-01-23T09:35:04Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;a href=&quot;/Category:Architecture&quot; title=&quot;Category:Architecture&quot;&gt;Category:Architecture&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:35, 23 January 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 65:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 65:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:KDE3]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:KDE3]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Architecture]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wwwdeveloper:diff:version:1.11a:oldid:7081:newid:7660 --&gt;
&lt;/table&gt;</summary>
		<author><name>Dhaumann</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=7081&amp;oldid=prev</id>
		<title>CuCullin: Category KDE3</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=7081&amp;oldid=prev"/>
				<updated>2007-01-10T02:32:01Z</updated>
		
		<summary type="html">&lt;p&gt;Category KDE3&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:32, 10 January 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 63:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 63:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Initial Author:'' [mailto:hausmann@kde.org Simon Hausmann]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;''Initial Author:'' [mailto:hausmann@kde.org Simon Hausmann]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Category:KDE3]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wwwdeveloper:diff:version:1.11a:oldid:6919:newid:7081 --&gt;
&lt;/table&gt;</summary>
		<author><name>CuCullin</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=6919&amp;oldid=prev</id>
		<title>Dhaumann: beautify</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=6919&amp;oldid=prev"/>
				<updated>2007-01-07T18:45:55Z</updated>
		
		<summary type="html">&lt;p&gt;beautify&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 18:45, 7 January 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;From the programmer's point of view changing the state of &amp;quot;copy&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;From the programmer's point of view changing the state of &amp;quot;copy&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;(enable/disable for example) means calling methods of three ui container&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;(enable/disable for example) means calling methods of three ui container&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;objects (menu, toolbar and popupmenu) . And each time the same &amp;quot;thing&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;objects (menu, toolbar and popupmenu). And each time the same &amp;quot;thing&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;is added somewhere else in the application's ui, you have to go through the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;is added somewhere else in the application's ui, you have to go through the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;whole code and update any code which is supposed to change the &amp;quot;thing&amp;quot; .&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;whole code and update any code which is supposed to change the &amp;quot;thing&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Now from the user's point of view that &amp;quot;thing&amp;quot; is nothing but an action. An&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Now from the user's point of view that &amp;quot;thing&amp;quot; is nothing but an action. An&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;action he is able to activate (by activating the corresponding ui item) ,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;action he is able to activate (by activating the corresponding ui item),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;an action he has control over.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;an action he has control over.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 52:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 52:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The KDE UI library provide action class implementations for most ui &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The KDE UI library provide action class implementations for most ui &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;container classes and most kinds of ui items (from a simple item to a list of &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;container classes and most kinds of ui items (from a simple item to a list of &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;items or toggle items for example) .&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;items or toggle items for example).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When no action class is available for a certain ui container type or kind of item,&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When no action class is available for a certain ui container type or kind of item,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;then you should simply inherit from the nearest action class available and&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;then you should simply inherit from the nearest action class available and&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;re-implement the virtual plug()/unplug() methods and the property setting&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;re-implement the virtual plug()/unplug() methods and the property setting&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;methods (like setText() for example) .&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;methods (like setText() for example).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When inheritting from an action class, don't forget to call the previous&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When inheritting from an action class, don't forget to call the previous&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wwwdeveloper:diff:version:1.11a:oldid:6918:newid:6919 --&gt;
&lt;/table&gt;</summary>
		<author><name>Dhaumann</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=6918&amp;oldid=prev</id>
		<title>Dhaumann: port http://developer.kde.org/documentation/library/kdeqt/kde3arch/actionpattern.html</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Development/Architecture/KDE3/Action_Pattern&amp;diff=6918&amp;oldid=prev"/>
				<updated>2007-01-07T18:45:01Z</updated>
		
		<summary type="html">&lt;p&gt;port http://developer.kde.org/documentation/library/kdeqt/kde3arch/actionpattern.html&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Creating a graphical user interface with the Qt/KDE3 development framework often&lt;br /&gt;
means calling a lot of insertItem() and insertButton() like methods on all&lt;br /&gt;
kinds of menu-, tool- and statusbar objects.&lt;br /&gt;
&lt;br /&gt;
This concept has two major disadvantages for dynamic ui's, where standard ui&lt;br /&gt;
items get activated/deactivated, item texts or pixmaps get changed or&lt;br /&gt;
certain elements get disabled, depending on the user's input and the&lt;br /&gt;
application's data. With the standard framework there's a lot of unnecessary code&lt;br /&gt;
duplication and complexity, regarding the handling of these elements.&lt;br /&gt;
&lt;br /&gt;
An often mentioned example are standard editing ui items, like &amp;quot;cut&amp;quot;, &amp;quot;copy&amp;quot;&lt;br /&gt;
and &amp;quot;paste&amp;quot;. These items show up in multiple places in the ui, like in the&lt;br /&gt;
toolbar, the &amp;quot;edit&amp;quot; menu in the menubar and in a context sensitive popup menu.&lt;br /&gt;
&lt;br /&gt;
From the programmer's point of view changing the state of &amp;quot;copy&amp;quot;&lt;br /&gt;
(enable/disable for example) means calling methods of three ui container&lt;br /&gt;
objects (menu, toolbar and popupmenu) . And each time the same &amp;quot;thing&amp;quot;&lt;br /&gt;
is added somewhere else in the application's ui, you have to go through the&lt;br /&gt;
whole code and update any code which is supposed to change the &amp;quot;thing&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Now from the user's point of view that &amp;quot;thing&amp;quot; is nothing but an action. An&lt;br /&gt;
action he is able to activate (by activating the corresponding ui item) ,&lt;br /&gt;
an action he has control over.&lt;br /&gt;
&lt;br /&gt;
== The Action Concept in KDE ==&lt;br /&gt;
&lt;br /&gt;
For the user an action is ''one'' thing, for the developer it used to mean&lt;br /&gt;
dealing with multiple ui container objects. The KDE Action classes&lt;br /&gt;
centralize this scheme for the developer, too.&lt;br /&gt;
&lt;br /&gt;
The developer allocates a KAction object and connects to the activation signal&lt;br /&gt;
of the object, which gets emitted whenever the user decides to activate the&lt;br /&gt;
action.&lt;br /&gt;
&lt;br /&gt;
Now this action object can be plugged into any kind of ui container object, like&lt;br /&gt;
a QMenuBar or a KToolBar for example. The process of plugging in the object&lt;br /&gt;
is the same for ''all'' container types, it's just calling the plug() method.&lt;br /&gt;
The action object then automatically takes care of inserting &amp;quot;itself&amp;quot; into&lt;br /&gt;
the container object and therefore creates a visual representation of the&lt;br /&gt;
action, like a menu item or a toolbar button, which the user is able to activate,&lt;br /&gt;
select or choose, for example, depending on the type of action.&lt;br /&gt;
&lt;br /&gt;
The point is that an action object can be plugged into multiple container&lt;br /&gt;
objects at the same time. Of course changing a property of an action, like the&lt;br /&gt;
displayed text for example, results in an immediate change in all plugged&lt;br /&gt;
containers.&lt;br /&gt;
&lt;br /&gt;
== The Action Classes ==&lt;br /&gt;
&lt;br /&gt;
The KDE UI library provide action class implementations for most ui &lt;br /&gt;
container classes and most kinds of ui items (from a simple item to a list of &lt;br /&gt;
items or toggle items for example) .&lt;br /&gt;
&lt;br /&gt;
When no action class is available for a certain ui container type or kind of item,&lt;br /&gt;
then you should simply inherit from the nearest action class available and&lt;br /&gt;
re-implement the virtual plug()/unplug() methods and the property setting&lt;br /&gt;
methods (like setText() for example) .&lt;br /&gt;
&lt;br /&gt;
When inheritting from an action class, don't forget to call the previous&lt;br /&gt;
implementation!&lt;br /&gt;
&lt;br /&gt;
''Initial Author:'' [mailto:hausmann@kde.org Simon Hausmann]&lt;/div&gt;</summary>
		<author><name>Dhaumann</name></author>	</entry>

	</feed>