<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to HowToDev</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>Recent changes to HowToDev</description><atom:link href="https://sourceforge.net/p/openpatrician/wikimig/HowToDev/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 25 Apr 2020 08:15:25 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/openpatrician/wikimig/HowToDev/feed" rel="self" type="application/rss+xml"/><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v21
+++ v22
@@ -97,3 +97,4 @@
 [Messages](HowToMessages)
 [Savegames](HowToSavegamee)
 [Visually test dialogs](HowToTestDialog)
+[HowTo define image segments](HowToImageSegment)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sat, 25 Apr 2020 08:15:25 -0000</pubDate><guid>https://sourceforge.netc765444b1ebf7b04111c4621bfac51de053579b2</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v20
+++ v21
@@ -96,3 +96,4 @@
 [HowTo implement a cheat command](HowToCheatCommand)
 [Messages](HowToMessages)
 [Savegames](HowToSavegamee)
+[Visually test dialogs](HowToTestDialog)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Wed, 23 Oct 2019 08:35:01 -0000</pubDate><guid>https://sourceforge.net4d1f8462159d1efbb17788d9351e9bc29c080886</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v19
+++ v20
@@ -93,5 +93,6 @@
 [HowTo create Dialogs](HowToDialog)
 [HowTo integrate Dialogs in NoticeBoard](HowToDevDialogInNoticeBoard)
 [HowTo use DependentValue](HowToDependentValue)
+[HowTo implement a cheat command](HowToCheatCommand)
 [Messages](HowToMessages)
 [Savegames](HowToSavegamee)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sun, 06 May 2018 08:15:04 -0000</pubDate><guid>https://sourceforge.netfe333469a71d8c69496bdaa526bab32a05af1e59</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v18
+++ v19
@@ -91,6 +91,7 @@

 [HowTo create Dialogs](HowToDialog)
+[HowTo integrate Dialogs in NoticeBoard](HowToDevDialogInNoticeBoard)
 [HowTo use DependentValue](HowToDependentValue)
 [Messages](HowToMessages)
 [Savegames](HowToSavegamee)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sat, 29 Jul 2017 06:21:54 -0000</pubDate><guid>https://sourceforge.net43b20763e34a21b771b38479b91ce0d8d6f81020</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sun, 09 Jul 2017 07:55:57 -0000</pubDate><guid>https://sourceforge.net6288f9bfbf78c2cda7a45af37616bdfcd0a1dc7d</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v16
+++ v17
@@ -88,13 +88,9 @@
 * EventHandler can be wrapped in a WeakEventHandler that works in the same way as the ChangeListener.

-## Check savegame size
-There are some changes in classes that are serialized that may cause a massive change in the size of the savegame. In most cases this is by adding a field that is included in the savegame that reference a whole lot of other objects. Here is how to analyze this and some of the more usual cases:
-Take a look at the save game and look for instances of:
-- Logger
-- Binding or its subclasses
-The logger brings in a reference to the Classloader, which basically has a reference to anything. Logger fields should be annotated with `@XStreamOmitField`. Bindings can also be ignored but the implementation must ensure that the binding does work correctly on the loaded object (e.g. by using lazy initialization on the first use).
+

 [HowTo create Dialogs](HowToDialog)
 [HowTo use DependentValue](HowToDependentValue)
 [Messages](HowToMessages)
+[Savegames](HowToSavegamee)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sun, 09 Jul 2017 07:55:17 -0000</pubDate><guid>https://sourceforge.net3ff66d915a3986005a7d17a6c38c7c09f7acff8b</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v15
+++ v16
@@ -97,3 +97,4 @@

 [HowTo create Dialogs](HowToDialog)
 [HowTo use DependentValue](HowToDependentValue)
+[Messages](HowToMessages)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Tue, 04 Jul 2017 16:10:54 -0000</pubDate><guid>https://sourceforge.net1381687320257cc9c329f2c3bd1c50e212946f7f</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v14
+++ v15
@@ -96,3 +96,4 @@
 The logger brings in a reference to the Classloader, which basically has a reference to anything. Logger fields should be annotated with `@XStreamOmitField`. Bindings can also be ignored but the implementation must ensure that the binding does work correctly on the loaded object (e.g. by using lazy initialization on the first use).

 [HowTo create Dialogs](HowToDialog)
+[HowTo use DependentValue](HowToDependentValue)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Fri, 23 Dec 2016 20:43:22 -0000</pubDate><guid>https://sourceforge.netdfe3d9177f65967cdfc38c588c3f5a9bb9c4e93a</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v13
+++ v14
@@ -69,19 +69,6 @@

 All these steps are staigt forward when starting at the definition of the scene in the mainScreen.xml and implementing the switch to the new scene. Starting the application now will gradualy pop up exceptions pointing to the next step to be implemented.

-## Add new dialog
-1. Create a new implementation of the dialog as a subclass of Dialog or probably more appropriatly CloseButtonDialog
-+ The dialog must be annotated as @Protype bean and have a @PostConstruct initialisation method named initializeDialog. In this method goes the setup of the dialog. It is suggested to create the content of the dialog as DecoratedText through the DecoratedTextFactory.
-+ If the closing of the dialog should update the noticeboard the executeOnCloseButtonClicked must be overridden
-+ Create a Main class for the dialog in the test directory tree for the testing of the dialog outside the whole application. This main class extends DialogTestApplicationContainer.
-+ The method getDialog contains the setup with suppling all the data and services for the dialog.
-+ The method startupFakeApplication should have an empty implementation.
-+ In the getDialog method the starupFakeApplication method must be called before the dialog is instantiated.
-+ Implement a test class extending the Main class.
-+ The test class implements the startupFakeApplication by calling FakeApplicationStartup.startupFakeApplication()
-+ Test actions and dialog navigation
-+ In DialogFactory add a case for retrieving the dialog bean
-+ Where the dialog should be opened call the dialogContoller to replace the dialog. 

 ## Check dialogs for memory leaks
 * Download and install [VisualVM](https://visualvm.java.net/download.html).
@@ -107,3 +94,5 @@
 - Logger
 - Binding or its subclasses
 The logger brings in a reference to the Classloader, which basically has a reference to anything. Logger fields should be annotated with `@XStreamOmitField`. Bindings can also be ignored but the implementation must ensure that the binding does work correctly on the loaded object (e.g. by using lazy initialization on the first use).
+
+[HowTo create Dialogs](HowToDialog)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Tue, 06 Dec 2016 20:42:34 -0000</pubDate><guid>https://sourceforge.net3c6c79001dc005dbb0e7afe62dfd051989cb5ad2</guid></item><item><title>HowToDev modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/HowToDev/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v12
+++ v13
@@ -99,3 +99,11 @@
 * Uncomment section by section and recheck everytime untill you find the code section that causes the memory leak.
 * ChangeListeners can be wrapped in a WeakChangeListener, but a reference to the ChangeListener needs to be kept in the dialog. See: http://stackoverflow.com/questions/22798158/how-to-use-weakchangelistener-with-javafx
 * EventHandler can be wrapped in a WeakEventHandler that works in the same way as the ChangeListener.
+
+
+## Check savegame size
+There are some changes in classes that are serialized that may cause a massive change in the size of the savegame. In most cases this is by adding a field that is included in the savegame that reference a whole lot of other objects. Here is how to analyze this and some of the more usual cases:
+Take a look at the save game and look for instances of:
+- Logger
+- Binding or its subclasses
+The logger brings in a reference to the Classloader, which basically has a reference to anything. Logger fields should be annotated with `@XStreamOmitField`. Bindings can also be ignored but the implementation must ensure that the binding does work correctly on the loaded object (e.g. by using lazy initialization on the first use).
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Thu, 03 Dec 2015 09:01:28 -0000</pubDate><guid>https://sourceforge.net5e9f2fe51e1c3ede07b61364ba45d2c629deed1d</guid></item></channel></rss>