KiXforms Forum Index KiXforms
The Forum for the KiXforms Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 Quick Links 
Site News
Downloads
Documentation
Donations
Script Archive
Tracking Systems

Kixforms.Net Development Build (3.2)
Goto page 1, 2  Next
 
Post new topic   Reply to topic    KiXforms Forum Index -> KiXforms.NET Discussion
View previous topic :: View next topic  
Author Message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Wed Jun 13, 2007 9:44 pm    Post subject: Kixforms.Net Development Build (3.2) Reply with quote

Starting a new series of development builds ... will gradually be moving to .NET 2.0 support.

To start things off - the new MSI installer in this package should install on systems that have 1.1 OR 2.0 installed - the requirement for 1.1 has hopefully disappeared ... if anyone willing to give a test much appreciated.

Kixforms Development Build

Version 3.2.14

- Refreshed build working on FileSystemWatcher object.

Version 3.2.13 (FileSystemWatcher Part Four)

- Changed FileSystemWatcher to register its own SynchronizingObject.

Version 3.2.12 (FileSystemWatcher Part Three)

- Added FileSystemWatcher.Created event.
- Added FileSystemWatcher.Deleted event.
- Added FileSystemWatcher.Renamed event.
- Added RenamedEventArgs object.

Version 3.2.11 (FileSystemWatcher Part Two)

- Added FileSystemWatcher.NotifyFilter property
- Added NotifyFilters enumeration.
- Added FileSystemWatcher.InternalBufferSize property.
- Added FileSystemWatcher.IncludeSubDirectories property.

Version 3.2.10 (FileSystemWatcher Part One)

- Added Form.MaximumSize property.
- Added System.EnableVisualStyles method.
- Changed ColumnHeader constructor Text property default from "" to Nothing.
- Changed ColumnHeaderCollection.Add method to except optional parameter.
- Added FileSystemWatcher object.
- Added FileSystemEventArgs object.
- Added WatcherChangeTypes enumeration.

Version 3.2.9

- Removed debug tracer message from previous build.

Version 3.2.8

- Fixed issue with ListViewItem constructor causing script to terminate.
- Fixed issue with ListViewSubItem constructor causing script to terminate.

Version 3.2.7 (Sorting continued)

- Added ListView.Sort method.
- Added ListView.SortedColumn property.
- Added ListView.SortOrder property.
- Added SortType enumeration (exclusive to kf.net).
- Added ColummHeader.SortType property (exclusive to kf.net).
- Modified ListViewColumnCollection to support sorting.
- Modified ListViewItemCollection to support sorting.
- Modified ListViewSubItemCollection to support sorting.
- Added ListViewSubItem.Tag property.
- Modified Control.UseWaitCursor to use (real) underlying .NET 2.0 property.

Version 3.2.6
---------------

- Added ListView column sorting feature.
- Added ListView.AllowSorting property.
- Added ListView.Sort method.
- Added the ComboBox.DropDown event.
- Added the ComboBox.DroppedDown property.
- Fixed SortedList object returning invalid items.
- Changed ListViewColumnHeaderCollection.Add method to overloaded.
- Changed ListViewItemCollection.Add method to overloaded.
- Changed ListViewSubItemCollection.Add method to overloaded.
- Changed Form to NOT be created before shown.
- Changed TabControl to NOT be created before shown.

Version 3.2.5
---------------

- Added support for .NET 2.0 runtime.
- Dropped support for .NET 1.1 runtime.
- Added ListView.BeforeLabelEdit event.
- Added ListView.AfterLabelEdit event.
- Added LabelEditEventArgs object.
- Added DataSet.AcceptChanges method.
- Added DataSet.RejectChanges method.
- Added Form.MinimumSize property.
- Added ListViewItem.EnsureVisible method.
- Enhanced PropertyValueChangedEventArgs object.
- Added ListView.ItemActivate event.
- Enhanced ListView.ItemCheck event.
- Added HashTable class.
- Enhanced Collection object to support keys
- Added Container.Components property
- Fixed TreeView.SelectedNode property (return Nothing is not selected)
- Changed TabPageCollection.Remove method from Function to Sub
- Changed Form to be "created" before "shown"
- Changed TabControl to be "created" before "shown"
- Added MenuItem.Parent property
- Changed the MSI installer to default to ALLUSERS=1
- Removed the EULA from the MSI Installer
- Documentation make-over (work in progress)

Version 3.2.3
---------------
- Added ContextMenu.Popup event
- Fixed issue with ContextMenu popups and event serialization.

Version 3.2.2
---------------
- Added Control.LostFocus event
- Added Form.DesktopLocation property
- Added Contol.SetBounds method

Version 3.2.1
---------------
Changed MSI installer to support .NET 1.1 or 2.0 environments.


Last edited by Shawn on Sat Aug 18, 2007 11:27 pm; edited 17 times in total
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Sat Jun 23, 2007 1:45 pm    Post subject: Reply with quote

Posted Version 3.2.3
Back to top
View user's profile Send private message
Radimus
KiXforms Enthusiast
KiXforms Enthusiast


Joined: 05 Mar 2003
Posts: 157
Location: Tampa, Florida

PostPosted: Thu Jun 28, 2007 6:21 pm    Post subject: Reply with quote

same thing



Code:
Break On
$System = CreateObject("Kixforms.System")
If Not $System
   $nul= MessageBox("KiXforms.Net Not Initiated. This Script Will Now Close.","Error",16)
   Quit()
EndIf
$nul = $System.Application.EnableVisualStyles

$Form2 = $System.Form()
$Form2.ControlBox = -1  ;True
$Form2.FormBorderStyle = 2  ;FormBorderStyle_Fixed3D
$Form2.Left = 34
$Form2.MaximizeBox = 0  ;False
$Form2.StartPosition = 0  ;FormStartPosition_Manual
$Form2.Size = $System.Size(516,279) ;(Width,Height)
$Form2.Text = "Welcome to AHCA. Please wait for logon to complete"
$Form2.Top = 44

$Panel1 = $System.Panel()
$Panel1.BackColor = $System.Color.FromName("White")
$Panel1.Dock = 1  ;Top
$Panel1.Height = 138
$nul = $Form2.Controls.Add($Panel1)

$Panel1.BackGroundImage = Panel1BackGroundImage()

...
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Thu Jul 26, 2007 4:39 pm    Post subject: Reply with quote

Posted 3.2.5 highlites:


Set MSI installer to default to ALLSUSERS.
Removed EULA window.
Dropped installer support for .Net 1.0/1.1

Documentation make-over. Yes, I know the .Net documentation "sucks" ... it is:

1) Incomplete
2) Not Kixtart friendly
3) Not many examples and samples.

The Kixforms.Net docs are automatically generated using a tool called "NDoc" - it creates a nice CHM file from source-code embedded comments. Problem is - NDoc produces programmer-type docs - with programmer-type syntax declarations. Long-story short - NDoc is now kinda "dead" (as a project) so I took the source-code for it and have been modifying it to make more kix-friendly- the outcome is:

1) The vb-style syntax is more friendly (all those public, interface, Iblahblah thingies should be gone now).

2) I colorized the syntax little bit.

3) Properties that are events (like .Click) are now flagged with the "Event" icon - but they still show up in properties.

In terms of samples and examples - I have been adding more - especially in the Control object (and derived classes) area. But here's the thing - I have no intent (or time) to include all the relavent .NET documentation/samples from MSDN inside the CHM. My fingers would fall-off doing that - microsoft probably have full-time people just updating docs. But there is huge amount of .Net information on the Web - and most of it applies to Kixforms.Net (with a few exceptions) ... so my strategy will be:

1) Document the "exceptions".
2) Include at least one example with every member.
3) Include important information in the remarks.
4) Look-into providing a sample script section.

NDoc is not to friendly when it comes to including non-code docs - so have to look into that.

-Shawn
Back to top
View user's profile Send private message
Gargoyle
KiXforms Aficionado
KiXforms Aficionado


Joined: 30 Dec 2003
Posts: 366
Location: Arizona

PostPosted: Fri Jul 27, 2007 6:17 am    Post subject: Reply with quote

In regards to the documentation, I can understand about not wanting to repeat what is available already. But if you could provide the "known to you" URL's in the chm that would be easier than starting from MS MSDN search.
_________________
Parents were invented to make children happy by giving them something to ignore.
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Wed Aug 01, 2007 3:12 pm    Post subject: Reply with quote

Posted Version 3.2.6

Added ListView automatic column sorting feature (sort by string only for now)

Fixed issues (I hope) caused with Form being pre-created.

[by the way]

This build has a "new" feature that emulates "overloaded" functions in dotnet. An overloaded function is one one that has a single name, but takes different parameters. Like this:

Code:

$Column = $ListView.Columns.Add(<String>)

$Column = $ListView.Columns.Add(<ColumnHeader>)


Both methods return a ColumnHeader, but the first syntax creates a new header with the specified caption text (string) - and the second syntax adds an already existing column header object (this was the only supported way prior to this build). Basically - the syntax is more Kixforms.Classic-like

Depending on feedback (especially from folks that use ASE) I would like to add more of these. The ASE intellisense for this new syntax is not as "strict" as it was before - but its not bad I think. I will never (ever) overload the return value of a method call - so the ASE deep dotting intellisense, like this:

$ListView.Columns.Item(0).Text = <whatever>

will continue to work. And properties will never be overloaded either - that would definitely break the intellisense.

-Shawn


COM does not support "true" overloaded functions.
Back to top
View user's profile Send private message
MACE1
KiXforms Enthusiast
KiXforms Enthusiast


Joined: 12 Oct 2004
Posts: 130
Location: Manchester UK

PostPosted: Mon Aug 06, 2007 3:02 pm    Post subject: Reply with quote

Very Happy
Any chance of you issuing a modified colum click example based upon:

http://www.kixforms.org/forum/viewtopic.php?t=1425&highlight=columnclick

or

http://www.kixforms.org/forum/viewtopic.php?t=1512

to illustrate HOW to use your new column sort feature !! Smile
________
Vf700C


Last edited by MACE1 on Fri Feb 18, 2011 5:15 pm; edited 1 time in total
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Wed Aug 08, 2007 1:33 am    Post subject: Reply with quote

Posted a new build. Added much more advanced ListView sorting features. Although highly customized - I decided to derive the "sorting behavior" from the .Net 2.0 DataGridView control. Mostly because the design was already proven, and this will also keep some consistency between the two.

Basically to implement automatic sorting, use the ColumnHeader.SortType property to control how the column gets sorted (see the docs) looks like this for a bunch of columns:

Code:

$NameColumn = $ListView.Columns.Add("Name (#)")
$NameColumn.Width = 120
$NameColumn.SortType = $System.SortType_Number + $System.SortType_Tag

$HiredColumn = $ListView.Columns.Add("Hired")
$HiredColumn.Width = 100
$HiredColumn.TextAlign = $System.HorizontalAlignment_Right
$HiredColumn.SortType = $System.SortType_DateTime

$DeptColumn = $ListView.Columns.Add("Dept")
$DeptColumn.Width = 100
$DeptColumn.SortType = $System.SortType_Text

$SalaryColumn = $ListView.Columns.Add("Salary")
$SalaryColumn.Width = 100
$SalaryColumn.TextAlign = $System.HorizontalAlignment_Right
$SalaryColumn.SortType = $System.SortType_Currency


You have sorting by TEXT, NUMBER, DATETIME and CURRENCY. You just have to supply the text equivalents of (say, a date) and Kixforms will do do the conversion/compare/sort automatically.

Nice added feature not found in .NET ... one can sort by ListViewItem.Tag - what this means is that one can show "one thing" in the listview - but sort on a completely different value (located in the Item/SubItem Tag property ... example - you show a salary of "100k" to the user - as a number this isn't sortable - so you put 100000 in the tag - and tell the list view to sort the tag instead ... see the docs for ColumnHeader.SortType for more information. To sepcify that the Tag is used for sorting - just AND the SortType with the Tag flag ... example:

Code:

$NameColumn.SortType = $System.SortType_Number + $System.SortType_Tag


I added another cool feature - one can also factor the ListViewItem.ImageIndex into the sort - so that the icon will get sorted along with the data - if you want - for those really advanced listview views - (like explorer folders/files sorting) ... just AND the ImageIndex flag ...

Code:

$NameColumn.SortType = $System.SortType_Number + $System.SortType_ImageIndex


The ListView sorting is not done yet - more refinements to come - here's a quick sample script - really hope someone can convert one of their scripts and provide feedback...

Code:

Break On

$= SetOption("WrapAtEol", "On")

$System = CreateObject("Kixforms.System")

;
; Form
;

$Form = $System.Form()
$Form.ClientWidth = 640
$Form.ClientHeight = 480
$Form.Text = "Employees"

$MainMenu = $System.MainMenu()

$FileMenu = $MainMenu.MenuItems.Add($System.MenuItem("File"))

$ExitMenu = $FileMenu.MenuItems.Add($System.MenuItem("Exit"))
$ExitMenu.Click = "ExitMenu_Click($$System.Sender, $$System.EventArgs)"

$InsertMenu = $MainMenu.MenuItems.Add($System.MenuItem("Insert"))

$InsertItemMenu = $InsertMenu.MenuItems.Add($System.MenuItem("New Item"))
$InsertItemMenu.Click = "InsertItemMenu_Click($$System.Sender, $$System.EventArgs)"

$Form.Menu = $MainMenu

;
; ListView
;

$ListView = $Form.Controls.Add($System.ListView())
$ListView.View = $System.View_Details
$ListView.FullRowSelect = 1
$ListView.HideSelection = 0
$ListView.MultiSelect = 0
$ListView.Dock = $System.DockStyle_Fill
$ListView.AllowColumnReorder = 1

; Columns

$NameColumn = $ListView.Columns.Add("Name (#)")
$NameColumn.Width = 120
$NameColumn.SortType = $System.SortType_Number + $System.SortType_Tag

$HiredColumn = $ListView.Columns.Add("Hired")
$HiredColumn.Width = 100
$HiredColumn.TextAlign = $System.HorizontalAlignment_Right
$HiredColumn.SortType = $System.SortType_DateTime

$DeptColumn = $ListView.Columns.Add("Dept")
$DeptColumn.Width = 100
$DeptColumn.SortType = $System.SortType_Text

$SalaryColumn = $ListView.Columns.Add("Salary")
$SalaryColumn.Width = 100
$SalaryColumn.TextAlign = $System.HorizontalAlignment_Right
$SalaryColumn.SortType = $System.SortType_Currency

; Data

For $i = 1 To 20

 $Item = $ListView.Items.Add(GenerateRandomItem())

Next

;
; Start My App
;

$Form.Center
$Form.Show

$ListView.Sort($NameColumn, $System.SortOrder_Ascending)

While $Form.Visible
 $= Execute($Form.DoEvents)
Loop

Exit 0

Function ExitMenu_Click($sender, $e)

 $Form.Hide

EndFunction

Function InsertItemMenu_Click($sender, $e)

 Dim $Item

 ;$Item = $ListView.Items.Insert($ListView.FocusedItem.Index,GenerateRandomItem())
 $Item = $ListView.Items.Add(GenerateRandomItem())

 If $ListView.SortedColumn
  $ListView.Sort($ListView.SortedColumn, $ListView.SortOrder)
 Endif

 $Item.Focused = 1
 $Item.Selected = 1
 $Item.EnsureVisible

EndFunction

Function GenerateRandomItem()

 Dim $Months
 Dim $Depts
 Dim $Item
 Dim $id
 Dim $SubItem

 $Months = "Jan", "Feb", "Mar", "Apr", "May", "Jun",
  "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"

 $Depts = "Marketing", "Accounting", "Systems", "Management",
  "Sales", "Auditing"

 $Item = $System.ListViewItem()

 $id = 100 + RND(900)

 $Item.Text = "John Doe (" + $id + ")"
 $Item.Tag = $id

 $SubItem = $Item.SubItems.Add(""+(1+RND(27))+"-"+$Months[RND(11)]+"-"+(1950+RND(50)))

 $SubItem = $Item.SubItems.Add( $Depts[RND(Ubound($Depts))] )

 $SubItem = $Item.SubItems.Add( "$" + FormatNumber((CDbl(RND(9999))/100)*1000,2) )

 $GenerateRandomItem = $Item

EndFunction
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Wed Aug 08, 2007 8:28 pm    Post subject: Reply with quote

Posted Version 3.2.8 to fix issues ...
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Fri Aug 10, 2007 1:48 am    Post subject: Reply with quote

Posted a new build that removed a debug tracer message left in from previous build ...
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Sat Aug 18, 2007 1:03 am    Post subject: Reply with quote

Posted Version 3.2.10 (FileSystemWatcher Part One)
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Sat Aug 18, 2007 2:24 am    Post subject: Reply with quote

Posted Version 3.2.11 (FileSystemWatcher Part Two)
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Sat Aug 18, 2007 3:43 am    Post subject: Reply with quote

Posted Version 3.2.12 (FileSystemWatcher Part Three)
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Sat Aug 18, 2007 2:44 pm    Post subject: Reply with quote

Posted Version 3.2.13 (FileSystemWatcher Part Four)
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Sat Aug 18, 2007 11:28 pm    Post subject: Reply with quote

Posted Version 3.2.14
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    KiXforms Forum Index -> KiXforms.NET Discussion All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group