Baanboard.com

Go Back   Baanboard.com

User login

Frontpage Sponsor

Main

Poll
Would you like to see a separate forum on Baanboard for the ION product?
No
13%
Yes
87%
Total votes: 91

Baanboard at LinkedIn


Reference Content

 
Tree structures: example
By patvdv at 26 Feb 2008 - 21:57


Tree structures: example

 

#include <bic_event>

#include <bic_gc>

#include <bic_eis>

 

#define BUTN.ID.1 1

#define BUTN.ID.2 2

#define BUTN.ID.3 3

 

function main()

{

string tree.id(25)

string tree.title(80)

long process.id

 

tree.id = "exm"

tree.title = "Example Tree"

process.id = init.main.tree(tree.id, tree.title)

handle.event.loop()

exit.main.tree(process.id)

}

 

 

function long init.main.tree(string tree.id(25), string tree.title(80))

{

long process.id

 

|-- activate Tree Server

process.id = create.tree(tree.id, tree.title)

 

|-- create nodes

create.node(tree.id, "", "1", "Root", 1, process.id)

create.node(tree.id, "1", "1.1", "Root Child 1", 2, process.id )

create.node(tree.id, "1", "1.2", "Root Child 2", 2, process.id )

create.node(tree.id, "1", "1.3", "Root Child 3", 3, process.id )

create.node(tree.id, "1.1", "1.1.1", "Root Child 1.1", 3, process.id)

create.node(tree.id, "1.1", "1.1.2", "Root Child 1.2", 1, process.id)

create.node(tree.id, "1.2", "1.2.1", "Root Child 2.1", 1, process.id)

create.node(tree.id, "1.2", "1.2.2", "Root Child 2.2", 2, process.id)

create.node(tree.id, "1.3", "1.3.1", "Root Child 3.1", 1, process.id)

 

|-- create buttons

create.tree.button(tree.id, BUTN.ID.1, "Button 1", process.id)

create.tree.button(tree.id, BUTN.ID.2, "Button 2", process.id)

create.tree.button(tree.id, BUTN.ID.3, "Button 3", process.id)

 

|-- change default colors

set.tree.background(tree.id, RGB.WHITE, process.id)

set.tree.foreground(tree.id, RGB.BLACK, process.id)

set.node.class.color(tree.id, 1, RGB.GREEN, process.id)

set.node.class.color(tree.id, 2, RGB.YELLOW, process.id)

set.node.class.color(tree.id, 3, RGB.RED, process.id)

 

|-- show root node with 2 underlying levels

view.tree(tree.id, "1", 3, process.id)

 

|-- return new process id

return(process.id)

}

 

function void exit.main.tree(string tree.id(25), long process.id)

{

|-- kill Tree Server

destroy.tree(tree.id, process.id)

}

 

 

function void handle.event.loop()

{

long event(EVTMAXSIZE)

long process.id

long button.id

string node.id(25)

 

while ( TRUE )

next.event(event)

on case evt.type(event)

case EVTBUCKETMESSAGE:

on case evt.bms.command(event)

case MSG.PUSH.BUTTON:

get.tree.push.button(event, process.id, button.id,
node.id)

on case button.id

case BUTN.ID.1:

.

.

break

.

.

endcase

break

case MSG.NODE.PRESS:

get.tree.node.press(event, process.id, node.id)

.

.

break

case MSG.NODE.DPRESS:

get.tree.node.dpress(event, process.id, node.id)

.

.

break

default:

get.tree.default()

break

endcase

break

.

.

endcase

endwhile

}

Related topics


0
No votes yet


All times are GMT +2. The time now is 02:52.


©2001-2013 - Baanboard.com - Baanforums.com