#pragma section-numbers on
'''
Description the usage of Casing module
'''
::-- limodou [<<DateTime(2005-12-01T01:50:56Z)>>]
<<TableOfContents>>

= What's it? =

It's an functions capsulation module, which can make sequence functions a single object, and execute in order. And it also can make functions run as a thread, you can choose onprocess callback function to show the execution status. It will support multi thread schedule. It will make all these things easily.

= Download =
 * Casing module is shipped with NewEdit, so you can download the NewEdit source code and find it in modules folder.
 * Or you can just download it from here [[attachment:Casing.py]]

= Examples =
== Example 1: Capsulate some functions together ==

{{{#!python
import Casing

def test_A():
    print 'A'
       
def test_B():
    print 'B'
       
def test_C():
    print 'C'
       
d = Casing.Casing(test_A) + Casing.Casing(test_B) + Casing.Casing(test_C)
d.start()
}}}

As you can see, three functions are bundled as a single '''Casing''' object, and it can be execute together in the order of bundle. There are many methods to create a Casing object, you can also write the code as:

{{{#!python
d = Casing.Casing(test_A)
d += Casing.Casing(test_B)
d += Casing.Casing(test_C)
d.start()
}}}

or using left add (+=)

{{{#!python
d = Casing.Casing(test_A)
d.append(test_B)
d.append(test_C)
d.start()
}}}

using append method or 

{{{#!python
d = Casing.Casing()
d.append(test_A)
d.append(test_B)
d.append(test_C)
d.start()
}}}

creating an empty Casing object and append function later.

= FeedBack =