TIMOB-10271: Implement getZIndex on UI View
Reviewer: JP

Change Log:
- added setZIndex and getZIndex properties to NativeControlObject
- added zIndex to TiUIBase
- modified tibbtest/app.js to test zindex

Test Cases:
- build tibb
- build tibbtest
- run tibbtest
- a blue label at the top should display zindex of 'Button 1' and 'Button 2'
- default value should be 'undefined'
- push 'Push Me' button
- button 1 should overlap button 2
- label at top should display:
  'ZIndex of button 1=200, ZIndex of button 2=undefined'
- push 'Push Me' button again
- button 2 should overlap button 1
- label at top should display:
  'ZIndex of button 1=200, ZIndex of button 2=500'

https://jira.appcelerator.org/browse/TIMOB-10271
TIMOB-9665 Blackberry: fix property enumeration on JS object created by the framework

Reviewer: DC

The lookup of inherited methods such as toString() was broken for Ti instances that we create, resulting in a crash.
The cause is that by returning undefined in the lookup the V8 internal lookup was not invoked.

Changelog:
- Return an empty value handle when not finding a keyword in our framework
- Protect the TiUIBase initializeTiObject so that it can be called from derived classes without negative effects.
- Reverted the calls from derived classes to call in their direct parent

Tests:
Built for simulator, verified that passing a Ti object to a function that expects a string, ends up invoking the toString on the object and it doesn't crash the JS anymore.
=> verified that the event callbacks are not broken by the change
=> Using breakpoints, verified that the prop_setter function is still getting called with the change
TIMOB-10161: BlackBerry: Implement Ti.Buffer for Anvil [Partial implementation]

Reviewers: DavidL

Changelog:
- Added NativeBufferObject class to represent Buffer natively.
- Added TiBufferObject class to represent the v8 object.
- Added properties byteOrder, length, type, value.
- Added Ti.Buffer methods.
- Implemented clear() method, length, value (partially) properties for Ti.Buffer.

Test cases:
- Use the following snippet to test current functionality.
- Make the buffer length changed after the clear() method called.

var win1 = Titanium.UI.createWindow({
    backgroundColor:'#F00'
});

var buffer = Ti.createBuffer({ value: "hello world" });
Ti.API.info('+++++++++++++++++++++++++' + buffer.length + '+++++++++++++++++++++++++');
buffer.clear();
Ti.API.info('+++++++++++++++++++++++++' + buffer.length + '+++++++++++++++++++++++++');

win1.open();
TIMOB-10270: BlackBerry: Implement getWidth, getHeight in UI View

Reviewers: Davic C.

ChangeLog:
- keep the top, left, height, width, right, left etc properties as JS
  properties

Test Cases:
- make sure you can successfully build tibb and tibbte
- run the above snippet of code and make sure right values are printed
   for the get, left, etc. positional properties

var win1 = Titanium.UI.createWindow({
    backgroundColor:'#F00'
 });

var win1 = Titanium.UI.createWindow({
backgroundColor:'#F00'
});

var label1 = Ti.UI.createLabel({
text: 'hello',
width: "200in",
height: "100mm",
left: "10px",
top: "20",
bottom: "345dip",
right: "211pt",
});

var button = Titanium.UI.createButton({
title: 'print position',
top: 300
});

button.addEventListener('click',function(e)
{
Titanium.API.info("You clicked the button");
Titanium.API.info("Height = " + label1.getHeight());
Titanium.API.info("Width = " + label1.getWidth());
Titanium.API.info("Top = " + label1.getTop());
Titanium.API.info("Left = " + label1.getLeft());
Titanium.API.info("Right = " + label1.getRight());
Titanium.API.info("Bottom = " + label1.getBottom());
});

win1.add(label1);
win1.add(button);

win1.open();
Added fix for zorder when not added to parent
TIMOB-10161: BlackBerry: Implement Ti.Buffer for Anvil [Partial implementation part2]

Reviewers: DavidL

Changelog:
- Added TiCodecObject class.
- Updated apidoc.
- Address comments.
- Fix unused variables warnings.
- Implement fill(), toString() methods, byteOrder property.
- Added prototypes for TiCodeObject methods.

Test cases:
- Use the following snippets to test current functionality.
- Make the buffer length changed after the clear() method called.

var win1 = Titanium.UI.createWindow({
    backgroundColor:'#F00'
});

var buffer = Ti.createBuffer({length:9, value:110000011});
Ti.API.info('Before: ' + buffer.toString());
buffer.fill(6, 2, 5);

Ti.API.info('After: ' + buffer.toString());

//var buffer = Ti.createBuffer({ value: "hello world" });
//Ti.API.info('+++++++++++++++++++++++++' + buffer.length + '+++++++++++++++++++++++++');
//buffer.clear();
//Ti.API.info('+++++++++++++++++++++++++' + buffer.length + '+++++++++++++++++++++++++');

win1.open();
TIMOB-10164: BlackBerry: Add BlackBerry to anvil driver

[Issues Fixed]
TIMOB-10164: BlackBerry: Add BlackBerry to anvil driver

[Added]
blackberry.js

[Changes]
driver.js
- added BlackBerry to comments and platforms
- function checkConfigItem
  - fixed error text

driver.js, exampleConfig.js
- added blackberryNdkDir, blackberrySocketPort, blackberryDeviceIp to config

[Tests]
Test 1: Run test suite
1) Start anvil using the following command:
node driver.js --mode=local --platform=blackberry --log-level=verbose --command=start
5) Verify there are no errors and it builds and runs the test harness
Note: The test harness will crash due to Socket not being implemented and anvil will time out
TIMOB-10161: BlackBerry: Implement Ti.Buffer for Anvil [Partial implementation part3]

Reviewers: DavidL

Changelog:
- Updated apidoc.
- Address comments.
- Implement copy(), append(), insert(), clone() methods.

Test cases:
- Use the snippets attached to JIRA to test current functionality.
Merge pull request #124 from jpl-mac/timob-9665

TIMOB-9665 Blackberry: fix property enumeration on JS object created by ...
TIMOB-10161: BlackBerry: Implement Ti.Buffer for Anvil [Partial implementation part4]

Reviewers: DavidL

Changelog:
- Address comments.

Test cases:
- Use the snippets attached to JIRA to test current functionality.
addressed comments
TIMOB-10059: BlackBerry: Revisit UI.AlertDialog implementation based on R6

Reviewers: DavidC

Changelog:
- Fix the bug with broken alertDialog.
- Re-implement alertDialog using cascades SystemDialog appeared in R6.
- Implement buttonNames, cancel properties.
- Implement event firing system for alertDialog.
- Update common.mk files for tibbtest and tibbapp for link against -lbbsystem.
- Update apidoc.

Test cases:
- Use the snippets attached to JIRA to test current functionality.
Fixed zindex issues
TIMOB-10161: BlackBerry: Implement Ti.Buffer for Anvil [Partial implementation part5]

Reviewers: DavidL

Changelog:
- Address comments.

Test cases:
- Use the snippets attached to JIRA to test current functionality.
TIMOB-10164: BlackBerry: Add BlackBerry to anvil driver

- added ndk param to titanium.py call
- removed debug logs
- added --blackberry to titanium.py usage text
Merge pull request #125 from alexandergalstyan/bufferBranch

TIMOB-10161: BlackBerry: Implement Ti.Buffer for Anvil [Partial implementation]
TIMOB-10224: Blackberry: Implement startLayout, finishLayout, updateLayout
methods

Reviewers: Alex

ChangeLog:
- implemented startLayout, finishLayout and updateLayout functiones for
  UI.View

Test Cases:
- make sure you can successfully build tibb and tibbte
- run the above snippet of code and make sure startLayout, finishLayout
  and updateLayout working as expected.  properties

var win1 = Titanium.UI.createWindow({
    backgroundColor:'#F00'
});

var view = Titanium.UI.createView({
    top: 0,
    left: 0,
    width: 200
    });

var label1 = Ti.UI.createLabel({ text: 'Label Demo' });
view.add(label1);
win1.add(view);

var mybutton=Ti.UI.createButton ( {top: 100,title: 'get Width'});

mybutton.addEventListener
(
'click',
function(e)
{
    label1.text = view.getLeft();
}
 );

var button1=Ti.UI.createButton ( {top: 200,title: 'Start Layout'});

button1.addEventListener
(
'click',
function(e)
{
view.startLayout();
view.left = 400;
view.top = 200;
}
);

var button2=Ti.UI.createButton ( {top: 300,title: 'Finish Layout'});

button2.addEventListener ( 'click', function(e) { view.finishLayout(); });

var button3=Ti.UI.createButton { top: 400, title: 'Update Layout'});
										button3.addEventListener(
										'click', function(e) { view.updateLayout({top:500,left:100});
										});

										win1.add(mybutton);
										win1.add(button1);
										win1.add(button2);
										win1.add(button3);
										win1.open();
Merge branch 'blackberry' into 10270

Conflicts:
	blackberry/tibb/NativeControlObject.cpp
	blackberry/tibb/NativeControlObject.h
Merge pull request #123 from dcampbell-macadamian/TIMOB-10271

TIMOB-10271: Implement getZIndex on UI View
Merge pull request #126 from Harutyun/10270

TIMOB-10270: BlackBerry: Implement getWidth, getHeight in UI View