recursivebytes

3.5GB ought to be enough for anybody

In MVVM you normally don´t use Click-Event like in WinForms, Java Swing or other traditional GUI-Framework. On of the aims of MVVM is to reduce the binding between presentation and program logic. The way you do bind Actions to a button (or other control) is by an implementation of the ICommand interface, that is hold by the ViewModel. The View binds to this property to create the link between implementation and triggering of the command. A common implementation is the RelayCommand class, which supports a basic functionality of this.

The implementation

In my applications I improved this by adding a flexable support for shortcut-bindings, which allows me to (re)bind the Menu- and Button-Command shortcuts at runtime. This is used to allow the user to change the default shortcuts in the configuration window.

The ViewModel implementation is quite the same like the RelayCommand Class:

Binding in the View works like this:

Changing the shortcut at runtime is really simple: just assign a different key and/or modifier to the object hold by the NewFileCommand-Property. Due to the INotifyPropertyChanged, the View gets informed about the change.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

23.12.2014

Feature-List

The following table contains added and planned  features of the IDE:

VersionTypeDescriptionRelease
3.1Feature[0%] Custom commands - Execute custom logic using shortcuts to be announced
Feature[0%] Multiple Layouts - Save as many UI layouts you like and switch between them easily
Feature[0%] Git Integration - use Git seamlessly in Horus
Improvement[0%] Customizable Theme colors - specify the Theme colors manually to create your personal look and feel
Improvement[0%] Project Explorer - view codefiles in include hierarchy
3.0FeatureProject-Management - Create multiple projects like Eclipse or Visual Studio

2014-08-21

FeatureProject-Explorer - A file explorer for projects
FeatureSystem-Theme - A theme which adapts to the system color scheme
FeatureProject Page: All important information about the project on one view
FeatureCode Metrics: Count SLOC (and more) for projects
FeatureAutomatic Acknex-Configuration: Horus tries to detect an installed GameStudio and configure itself for usage
FeaturePackage Manager: Add content to projects from the internet or your local drive
Improvement Restructure Configuration-Menu
2.3FeatureFile Explorer: browse through the file system directly in the IDE. It is tree-based and provides the explorer context menu, auto-refresh of entires and custom root nodes (i.e. your project path)

2014-04-06

FeatureIntelligent Drag & Drop: Drag and drop files into the code-editor and Horus will insert the file of type x into code of type y with correct syntax. It is based on the snippet engine and can be customized by the user
FeatureIntelligent Tool-Tips: Preview code and image-files on mouseover
FeatureBuild-Counter: Function, that updates a certain Lite-C-Constant (Define) in the code at every publish/run action for automatic versioning of the project
ImprovementBuild against A8.45
2.2FeatureAcknex Manual Integration: The Helpfile of the A7/A8-Engine is now embedded into a panel and on move on an engine-function or variable the corresponding page is opened

2013-12-28

FeaturePre/Post-Build/Run Commands: Custom scripts that can be executed when a run or a publish-process starts or ends
FeatureVisualisation of Variable-Positions: Icons on the left side show positions of variables and functions in Code
FeatureCode-Snippets for structs: New default snippets added
ImprovementParser Performance
BugfixMinor Bugfixes
2.1FeatureCode Snippets: Code can be stored as a snippet and added in the document by using autocomplete or the snippet selector

2012-09-23

FeatureMulti-Purpose Go To: By pressing Ctrl+G the user can go to code lines, variables or open files - depending on the input
FeatureLine and Word Highlight: Highlight of the current word and line
FeatureAero Snap-Support: Panels and Windows can snap to screen-corners
FeatureHistory of copies: The last 10 (or more) copied texts in the clipboard is remembered and can be searched and inserted by pressing Ctrl+Shift+V
FeatureUpdater: Horus checks automatically for Updates
FeatureSelf-closing Brackets: On entering opening brackets the closing bracket can be inserted as well (in the editor configuration)
FeatureParameter selection: Tab can be used to switch between parameters of a function
ImprovementCode Completion Performance
ImprovementUser Interface and Themes
BugfixEditor-Freeze while entering comments

 

Help to Improve

Do you miss a cool feature or do you have found a bug? Please let me know and leave a comment (or send an email).

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Install the required Software

At first, install

  • .NET 4.0
  • 3D Gamestudio A7/A8
  • Horus IDE

The programs directory doesn´t matter, you can install 3DGS and Horus wherever you want.

Configure for Gamestudio

Start Horus and open the Configuration-Window (Extras > Options).
Next, specify the 3DGS-Installation-Folder. It has to be the GStudio7/GStudio8-Folder. Select your Gamestudio-Edition.
You can also set your project-folder.


The “Rearrange Engine Window”-Feature rearranges both Engine Windows if you click on Multiplayer-Run (Shift+F5), so that they fit perfectly on your screen. If you don´t like this, just switch it off. Before Horus moves the Engine-Window it waits the specified delay (this is needed because the startup-screen of the engine cannot be moved. on slower loading projects you will have to increase this value).

Restart Horus

Now restart the editor. After you´ve started it again you´ll see that the Acknex-Menu and -Toolbar has been added. Now you can use Horus for Gamestudio-Development.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Mit den folgenden Methoden lassen sich Icons aus beliebigen DLLs (z.B. shell32.dll) oder EXEn auslesen und in C# nutzen:

number gibt dabei an das wie vielte Icon es aus der Datei ist. Die Nummerierung beginnt bei 0 und erfolgt (bei Sicht aus dem Explorer) spaltenweise:

icons

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

28.12.2014

Here´s a list of my favorite programming helpers:

Here´s a list of my favorite Windows helpers:

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)