New CVS organisation with new naming convention
This commit is contained in:
8
bepascal/demos/demo/compile
Normal file
8
bepascal/demos/demo/compile
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
if [ ! -d units ]
|
||||
then mkdir units
|
||||
fi
|
||||
|
||||
ppc386 -FE./ -FU./units ./sources/main.pp -oBPDemo
|
||||
mergeres ./sources/Resource.rsrc BPDemo
|
||||
mimeset BPCalculator
|
||||
8
bepascal/demos/demo/demo
Normal file
8
bepascal/demos/demo/demo
Normal file
@@ -0,0 +1,8 @@
|
||||
### pe Group File
|
||||
./sources/button_view.pp
|
||||
./sources/common.pp
|
||||
./sources/edit_view.pp
|
||||
./sources/main.pp
|
||||
./sources/main_window.pp
|
||||
../BiPolar/TestApp/source/mainwindow.pas
|
||||
./sources/other_view.pp
|
||||
141
bepascal/demos/demo/sources/button_view.pp
Normal file
141
bepascal/demos/demo/sources/button_view.pp
Normal file
@@ -0,0 +1,141 @@
|
||||
{ BePascal - A pascal wrapper around the BeOS API
|
||||
Copyright (C) 2002 Olivier Coursiere
|
||||
Eric Jourde
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
}
|
||||
|
||||
unit button_view;
|
||||
|
||||
{$M+}
|
||||
interface
|
||||
uses
|
||||
classes,beobj, application, message, _beep, roster, SysUtils,interfacedefs,
|
||||
archivable, handler, rect, window, view, graphicdefs, dataio,box,
|
||||
invoker, messenger, Control, Button,listview,listitem,outlinelistview,common;
|
||||
|
||||
|
||||
type
|
||||
TButton_View = class(BView)
|
||||
public
|
||||
constructor Create(frame : BRect; name : PChar; resizingMode, flags : Cardinal);
|
||||
Button1: BButton;
|
||||
Button2: BButton;
|
||||
Button3: BButton;
|
||||
|
||||
ListView1 : BListView;
|
||||
ItemString : BStringItem;
|
||||
outlineListView : BOutlineListView;
|
||||
Box1 : BBox;
|
||||
Box2 : BBox;
|
||||
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
constructor TButton_View.Create(frame : BRect; name : PChar; resizingMode, flags : Cardinal);
|
||||
Var
|
||||
aRect2 : BRect;
|
||||
mess : BMessage;
|
||||
rgb : RGB_color;
|
||||
|
||||
begin
|
||||
inherited;
|
||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
// Button 1
|
||||
aRect2 := BRect.Create(20, 20, 100, 30);
|
||||
mess := BMessage.Create(MSG_BUTTON_BASE+1);
|
||||
Button1 := BButton.Create(aRect2, 'Button 1', 'Button 1', mess, B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Button1.SetViewColor(rgb);
|
||||
AddChild(Button1, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Button 2
|
||||
aRect2 := BRect.Create(20, 20+30, 100, 30+30);
|
||||
mess := BMessage.Create(MSG_BUTTON_BASE+2);
|
||||
Button2 := BButton.Create(aRect2, 'Add Item', 'Add Item', mess, B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Button2.SetViewColor(rgb);
|
||||
AddChild(Button2, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Button 3
|
||||
aRect2 := BRect.Create(20, 20+60, 100, 30+60);
|
||||
mess := BMessage.Create(MSG_BUTTON_BASE+3);
|
||||
Button3 := BButton.Create(aRect2, 'Add Outline', 'Add Outline', mess, B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Button3.SetViewColor(rgb);
|
||||
AddChild(Button3, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Box for ListView
|
||||
aRect2 := BRect.Create(120, 30, 250, 300);
|
||||
Box1 := BBox.Create(aRect2, 'Box1', B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE, B_PLAIN_BORDER);
|
||||
Box1.SetLabel('BListView');
|
||||
Box1.SetBorder(B_FANCY_BORDER);
|
||||
AddChild(Box1, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// ListView1
|
||||
aRect2 := BRect.Create(10, 15, 120, 250);
|
||||
ListView1 := BListView.create(aRect2,'toto',
|
||||
B_SINGLE_SELECTION_LIST,
|
||||
B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE or B_FRAME_EVENTS);
|
||||
Box1.AddChild(ListView1, nil);
|
||||
aRect2.Free;
|
||||
|
||||
|
||||
{ ItemString := BStringItem.create('test 1',0,true);
|
||||
ListView1.AddItem(ItemString);
|
||||
ItemString := BStringItem.create('test 2',1,true);
|
||||
ListView1.AddItem(ItemString);
|
||||
}
|
||||
|
||||
// Box for OutLineListItem
|
||||
aRect2 := BRect.Create(260, 30, 400, 300);
|
||||
Box2 := BBox.Create(aRect2, 'Box1', B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE, B_PLAIN_BORDER);
|
||||
Box2.SetLabel('BOutlineListView ');
|
||||
Box2.SetBorder(B_FANCY_BORDER);
|
||||
AddChild(Box2, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Outlinelistitem
|
||||
aRect2 := BRect.Create(10, 15, 120, 250);
|
||||
outlineListView := BOutlineListView.create(aRect2,'toto',
|
||||
B_SINGLE_SELECTION_LIST,
|
||||
B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE or B_FRAME_EVENTS);
|
||||
Box2.AddChild(outlineListView, nil);
|
||||
aRect2.Free;
|
||||
|
||||
|
||||
ItemString := BStringItem.create('test 1',0,true);
|
||||
outlineListView.AddItem(ItemString);
|
||||
ItemString := BStringItem.create('test 1.1',1,true);
|
||||
outlineListView.AddItem(ItemString);
|
||||
ItemString := BStringItem.create('test 1.2',1,true);
|
||||
outlineListView.AddItem(ItemString);
|
||||
ItemString := BStringItem.create('test 2',0,true);
|
||||
outlineListView.AddItem(ItemString);
|
||||
ItemString := BStringItem.create('test 2.1',1,true);
|
||||
outlineListView.AddItem(ItemString);
|
||||
ItemString := BStringItem.create('test 3',0,true);
|
||||
outlineListView.AddItem(ItemString);
|
||||
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
13
bepascal/demos/demo/sources/common.pp
Normal file
13
bepascal/demos/demo/sources/common.pp
Normal file
@@ -0,0 +1,13 @@
|
||||
unit common;
|
||||
interface
|
||||
const
|
||||
MSG_TEST_APP_BASE = 79000;
|
||||
MSG_BUTTON_BASE = MSG_TEST_APP_BASE + 100;
|
||||
MSG_CHECKBOX_BASE = MSG_TEST_APP_BASE + 200;
|
||||
MSG_RADIOBUTTON_BASE = MSG_TEST_APP_BASE + 300;
|
||||
MSG_STRINGVIEW_BASE = MSG_TEST_APP_BASE + 400;
|
||||
MSG_MENU_BASE = MSG_TEST_APP_BASE + 500;
|
||||
MSG_STATUSBAR_BASE = MSG_TEST_APP_BASE + 600;
|
||||
|
||||
implementation
|
||||
end.
|
||||
155
bepascal/demos/demo/sources/edit_view.pp
Normal file
155
bepascal/demos/demo/sources/edit_view.pp
Normal file
@@ -0,0 +1,155 @@
|
||||
{ BePascal - A pascal wrapper around the BeOS API
|
||||
Copyright (C) 2002 Olivier Coursiere
|
||||
Eric Jourde
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
}
|
||||
|
||||
unit edit_view;
|
||||
|
||||
{$M+}
|
||||
interface
|
||||
uses
|
||||
classes,beobj, application, message, _beep, roster, SysUtils,interfacedefs,
|
||||
archivable, handler, rect, window, view, graphicdefs, dataio,box, scrollview,
|
||||
invoker, messenger, Control,textview,font,textcontrol,radiobutton,common;
|
||||
|
||||
|
||||
type
|
||||
TEdit_View = class(BView)
|
||||
public
|
||||
constructor Create(frame : BRect; name : PChar; resizingMode, flags : Cardinal);
|
||||
|
||||
aTextView : BTextView;
|
||||
Edit : BTextControl;
|
||||
|
||||
afont : Bfont;
|
||||
Box1 : BBox;
|
||||
Box2 : BBox;
|
||||
Box3 : BBox;
|
||||
Box4 : BBox;
|
||||
RadioButton1,
|
||||
RadioButton2 : BRadioButton;
|
||||
RadioButton3,
|
||||
RadioButton4 : BRadioButton;
|
||||
scroll_vert :BscrollView;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
constructor TEdit_View.Create(frame : BRect; name : PChar; resizingMode, flags : Cardinal);
|
||||
Var
|
||||
aRect2,aRect3 : BRect;
|
||||
mess : BMessage;
|
||||
rgb : RGB_color;
|
||||
|
||||
begin
|
||||
inherited;
|
||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
|
||||
// Box for textview
|
||||
aRect2 := BRect.Create(20, 20, 200, 300);
|
||||
Box2 := BBox.Create(aRect2, 'Box1', B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE, B_PLAIN_BORDER);
|
||||
Box2.SetLabel('BTextView ');
|
||||
Box2.SetBorder(B_FANCY_BORDER);
|
||||
AddChild(Box2, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// textView
|
||||
aRect2 := BRect.Create(10, 15, 160, 260);
|
||||
aRect3 := BRect.Create(0, 0, 140, 500-160);
|
||||
aTextView := BTextView.Create(aRect2, 'Test2',aRect3, B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
|
||||
scroll_vert:=BscrollView.create('scroll1',aTextView,B_FOLLOW_ALL, B_WILL_DRAW or B_PULSE_NEEDED or B_FRAME_EVENTS,true,true,B_PLAIN_BORDER);
|
||||
Box2.addchild(scroll_vert,nil);
|
||||
|
||||
aTextView.setStylable(true);
|
||||
aRect2.Free;
|
||||
aRect3.Free;
|
||||
|
||||
// Box for TextControl
|
||||
aRect2 := BRect.Create(220, 20, 400, 300);
|
||||
Box1 := BBox.Create(aRect2, 'Box1', B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE, B_PLAIN_BORDER);
|
||||
Box1.SetLabel('BTextControl ');
|
||||
Box1.SetBorder(B_FANCY_BORDER);
|
||||
AddChild(Box1, nil);
|
||||
aRect2.Free;
|
||||
|
||||
mess := BMessage.Create(77780);
|
||||
aRect2 := BRect.Create(10, 15, 150, 20);
|
||||
Edit:=BTextControl.Create(aRect2,' Zone_calcul',' ','',mess,B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Edit.setdivider(0);
|
||||
Edit.setalignment(B_ALIGN_LEFT,B_ALIGN_LEFT);
|
||||
//Edit.SetEnabled(false);
|
||||
Box1.AddChild(Edit,nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Box for Textalignement
|
||||
aRect2 := BRect.Create(10, 40, 150, 100);
|
||||
Box3 := BBox.Create(aRect2, 'Box1', B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE, B_PLAIN_BORDER);
|
||||
Box3.SetLabel('setalignment ');
|
||||
Box3.SetBorder(B_FANCY_BORDER);
|
||||
Box1.AddChild(Box3, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// RadioButton1
|
||||
mess := BMessage.Create(MSG_RADIOBUTTON_BASE + 1);
|
||||
aRect2 := BRect.Create(10, 14, 120, 24);
|
||||
RadioButton1 := BRadioButton.Create(aRect2, 'RB1', 'B_ALIGN_LEFT', mess,
|
||||
B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Box3.AddChild(RadioButton1, nil);
|
||||
RadioButton1.SetValue(1);
|
||||
aRect2.Free;
|
||||
|
||||
// RadioButton2
|
||||
mess := BMessage.Create(MSG_RADIOBUTTON_BASE + 2);
|
||||
aRect2 := BRect.Create(10, 34, 120, 54);
|
||||
RadioButton2 := BRadioButton.Create(aRect2, 'RB2', 'B_ALIGN_RIGHT', mess,
|
||||
B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Box3.AddChild(RadioButton2, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Box for SetEnabled
|
||||
aRect2 := BRect.Create(10, 120, 150, 180);
|
||||
Box4 := BBox.Create(aRect2, 'Box1', B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE, B_PLAIN_BORDER);
|
||||
Box4.SetLabel('SetEnabled ');
|
||||
Box4.SetBorder(B_FANCY_BORDER);
|
||||
Box1.AddChild(Box4, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// RadioButton3
|
||||
mess := BMessage.Create(MSG_RADIOBUTTON_BASE + 3);
|
||||
aRect2 := BRect.Create(10, 14, 120, 24);
|
||||
RadioButton3 := BRadioButton.Create(aRect2, 'RB1', 'SetEnabled(true)', mess,
|
||||
B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Box4.AddChild(RadioButton3, nil);
|
||||
RadioButton3.SetValue(1);
|
||||
aRect2.Free;
|
||||
|
||||
// RadioButton4
|
||||
mess := BMessage.Create(MSG_RADIOBUTTON_BASE + 4);
|
||||
aRect2 := BRect.Create(10, 34, 120, 54);
|
||||
RadioButton4 := BRadioButton.Create(aRect2, 'RB2', 'SetEnabled(false)', mess,
|
||||
B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Box4.AddChild(RadioButton4, nil);
|
||||
aRect2.Free;
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
82
bepascal/demos/demo/sources/main.pp
Normal file
82
bepascal/demos/demo/sources/main.pp
Normal file
@@ -0,0 +1,82 @@
|
||||
{ BePascal - A pascal wrapper around the BeOS API
|
||||
Copyright (C) 2002 Olivier Coursiere
|
||||
Eric Jourde
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
}
|
||||
|
||||
program Main;
|
||||
|
||||
{$M+}
|
||||
uses
|
||||
beobj, application, message, _beep, roster, SysUtils,
|
||||
archivable, handler, rect, window, view, graphicdefs, dataio,
|
||||
invoker, messenger, Control, Button,stringview,textcontrol,checkbox,
|
||||
main_window;
|
||||
|
||||
type
|
||||
TMonApplication = class(BApplication)
|
||||
public
|
||||
procedure ReadyToRun; override;
|
||||
function QuitRequested : boolean; override;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function TMonApplication.QuitRequested : boolean;
|
||||
begin
|
||||
Result := inherited;
|
||||
be_app.Free;
|
||||
end;
|
||||
|
||||
procedure TMonApplication.ReadyToRun;
|
||||
var
|
||||
Mess : BMessage;
|
||||
begin
|
||||
inherited;
|
||||
Mess := BMessage.Create;
|
||||
try
|
||||
Mess.What := 7777;
|
||||
be_roster.Broadcast(Mess);
|
||||
finally
|
||||
Mess.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
var
|
||||
aRect : BRect;
|
||||
win : TMyWindow;
|
||||
|
||||
begin
|
||||
TMonApplication.Create;
|
||||
try
|
||||
aRect := BRect.Create(20, 20, 740, 500);
|
||||
win := TMyWindow.Create(aRect, 'BP Demo', B_TITLED_WINDOW, B_NOT_RESIZABLE or B_NOT_ZOOMABLE or B_QUIT_ON_WINDOW_CLOSE, B_CURRENT_WORKSPACE);
|
||||
win.Show;
|
||||
be_app.Run;
|
||||
be_app.HideCursor;
|
||||
be_app.ShowCursor;
|
||||
finally
|
||||
aRect.Free;
|
||||
win.Free;
|
||||
end;
|
||||
end.
|
||||
|
||||
|
||||
219
bepascal/demos/demo/sources/main_window.pp
Normal file
219
bepascal/demos/demo/sources/main_window.pp
Normal file
@@ -0,0 +1,219 @@
|
||||
{ BePascal - A pascal wrapper around the BeOS API
|
||||
Copyright (C) 2002 Olivier Coursiere
|
||||
Eric Jourde
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
}
|
||||
|
||||
unit main_window;
|
||||
|
||||
interface
|
||||
{$M+}
|
||||
uses
|
||||
beobj, application, message, _beep, roster, SysUtils,appdefs,
|
||||
archivable, handler, rect, window, view, graphicdefs, dataio, interfacedefs,textView,alert,
|
||||
invoker, messenger, Control, Button,stringview,textcontrol,checkbox,TabView,listitem,
|
||||
menu, menubar,
|
||||
button_view,edit_view,common,other_view;
|
||||
|
||||
|
||||
Type
|
||||
TMyWindow = class(BWindow)
|
||||
private
|
||||
aView : BView;
|
||||
TabView : BTabView;
|
||||
Tab1 : BTab;
|
||||
Tab2 : BTab;
|
||||
|
||||
|
||||
public
|
||||
constructor Create(aFrame : BRect; title : PChar; atype, aFlags, aWorkspaces : Cardinal); override;
|
||||
destructor Destroy; override;
|
||||
procedure MessageReceived(amessage : BMessage); override;
|
||||
VButton : TButton_View;
|
||||
VEdit : TEdit_View;
|
||||
Explain : BStringView;
|
||||
VOther : TOther_View;
|
||||
end;
|
||||
|
||||
Const Message1='Message : ';
|
||||
|
||||
implementation
|
||||
|
||||
constructor TMyWindow.Create(aFrame :BRect; title : PChar; atype, aFlags, aWorkspaces : Cardinal);
|
||||
var
|
||||
aRect : BRect;
|
||||
aRect2 : BRect;
|
||||
mess : BMessage;
|
||||
i : Integer;
|
||||
S : pchar;
|
||||
|
||||
menu : BMenu;
|
||||
menubar : BMenuBar;
|
||||
sepItem, sepItem2 : BSeparatorItem;
|
||||
item : BMenuItem;
|
||||
item1 : BMenuItem;
|
||||
|
||||
begin
|
||||
inherited;
|
||||
try
|
||||
try
|
||||
// menu
|
||||
|
||||
aRect2 := BRect.Create(0,0,300,300);
|
||||
menubar := BMenuBar.Create(aRect2, 'Bonjour', B_FOLLOW_LEFT_RIGHT or B_FOLLOW_TOP, B_ITEMS_IN_COLUMN, True);
|
||||
AddChild(menubar, nil);
|
||||
aRect2.Free;
|
||||
Menu := BMenu.Create('File', B_ITEMS_IN_COLUMN);
|
||||
item := BMenuItem.Create('Open', BMessage.Create(MSG_MENU_BASE+1), 'o'{#0}, 0);
|
||||
item1 := BMenuItem.Create('Close', BMessage.Create(MSG_MENU_BASE+2), 'z'{#0}, 0);
|
||||
|
||||
Menu.AddItem(item);
|
||||
Menu.AddSeparatorItem;
|
||||
Menu.AddItem(item1);
|
||||
|
||||
MenuBar.AddItem(Menu);
|
||||
|
||||
// Create the main View
|
||||
aRect := BRect.Create(0, 0, 1000, 600);
|
||||
aView := BView.Create(aRect, 'Test', B_FOLLOW_ALL, B_WILL_DRAW);
|
||||
aView.SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
self.AddChild(aView, nil);
|
||||
aRect.Free;
|
||||
|
||||
// Show text Message
|
||||
aRect:= BRect.Create(20, 400, 200, 420);
|
||||
Explain := BStringView.Create(aRect,'explain','Message : ',B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
aView.AddChild(Explain, nil);
|
||||
aRect.Free;
|
||||
|
||||
|
||||
// TabView
|
||||
aRect:= BRect.Create(20, 25, 700, 400);
|
||||
TabView:=BTabview.Create(aRect,'test',
|
||||
B_WIDTH_AS_USUAL,
|
||||
B_FOLLOW_TOP,
|
||||
B_FULL_UPDATE_ON_RESIZE or B_WILL_DRAW or B_NAVIGABLE_JUMP or B_FRAME_EVENTS or B_NAVIGABLE);
|
||||
aView.AddChild(TabView, nil);
|
||||
aRect.Free;
|
||||
|
||||
// Button
|
||||
aRect:= BRect.Create(0, 0, 700, 500);
|
||||
VButton := TButton_View.Create(aRect, 'Test 1', B_FOLLOW_ALL, B_NAVIGABLE);
|
||||
aRect.Free;
|
||||
|
||||
Tab1:=BTab.create(VButton);
|
||||
Tab1.SetLabel('BButton & BListView');
|
||||
|
||||
TabView.AddTab(VButton,Tab1);
|
||||
|
||||
// Edit
|
||||
aRect:= BRect.Create(0, 0, 700, 500);
|
||||
VEdit := TEdit_View.Create(aRect, 'Test 1', B_FOLLOW_ALL, B_NAVIGABLE);
|
||||
aRect.Free;
|
||||
|
||||
Tab1:=BTab.create(VEdit);
|
||||
Tab1.SetLabel('BeditText');
|
||||
|
||||
TabView.AddTab(VEdit,Tab1);
|
||||
|
||||
// Other
|
||||
aRect:= BRect.Create(0, 0, 700, 500);
|
||||
VOther := TOther_View.Create(aRect, 'Test 1', B_FOLLOW_ALL, B_NAVIGABLE);
|
||||
aRect.Free;
|
||||
|
||||
Tab1:=BTab.create(VOther);
|
||||
Tab1.SetLabel('Other');
|
||||
|
||||
TabView.AddTab(VOther,Tab1);
|
||||
|
||||
|
||||
TabView.Select(0);
|
||||
|
||||
finally
|
||||
end;
|
||||
finally
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
destructor TMyWindow.Destroy;
|
||||
begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TMyWindow.MessageReceived(aMessage : BMessage);
|
||||
Var S : String;
|
||||
p : pchar;
|
||||
Alert : BAlert;
|
||||
begin
|
||||
inherited;
|
||||
Case aMessage.what of
|
||||
MSG_BUTTON_BASE+1 : Begin
|
||||
Explain.SetText(Message1+'button 1 clic');
|
||||
End;
|
||||
MSG_BUTTON_BASE+2 : Begin
|
||||
Explain.SetText(Message1+'button Add Item click');
|
||||
VButton.ItemString := BStringItem.create('new Item',0,true);
|
||||
VButton.ListView1.AddItem(VButton.ItemString);
|
||||
End;
|
||||
MSG_BUTTON_BASE+3 : Begin
|
||||
Explain.SetText(Message1+'button Add OutlineListItem clic');
|
||||
VButton.ItemString := BStringItem.create('New Item',0,true);
|
||||
VButton.outlineListView.AddItem(VButton.ItemString);
|
||||
End;
|
||||
MSG_BUTTON_BASE+4 : Begin
|
||||
VOther.StatusBar1.Update(10, nil, nil);
|
||||
S:='Position: '+FloatToStr(VOther.StatusBar1.CurrentValue)+' \ '+FloatToStr(VOther.StatusBar1.MaxValue);
|
||||
p:=stralloc(length(s)+1);
|
||||
strpcopy(p,s);
|
||||
VOther.Value.SetText(p);
|
||||
strdispose(p);
|
||||
End;
|
||||
MSG_BUTTON_BASE+5 : Begin
|
||||
VOther.StatusBar1.Update(-10, nil, nil);
|
||||
S:='Position: '+FloatToStr(VOther.StatusBar1.CurrentValue)+' \ '+FloatToStr(VOther.StatusBar1.MaxValue);
|
||||
p:=stralloc(length(s)+1);
|
||||
strpcopy(p,s);
|
||||
VOther.Value.SetText(p);
|
||||
strdispose(p);
|
||||
End;
|
||||
MSG_BUTTON_BASE+6 : Begin
|
||||
Alert:=BAlert.Create('Attention','You have request a alert ?','Help','Cancel','OK',B_WIDTH_AS_USUAL,B_WARNING_ALERT);
|
||||
Alert.go;
|
||||
End;
|
||||
MSG_RADIOBUTTON_BASE + 1 : Begin
|
||||
VEdit.Edit.setalignment(B_ALIGN_LEFT,B_ALIGN_LEFT);
|
||||
End;
|
||||
MSG_RADIOBUTTON_BASE + 2 : Begin
|
||||
VEdit.Edit.setalignment(B_ALIGN_RIGHT,B_ALIGN_RIGHT);
|
||||
End;
|
||||
MSG_RADIOBUTTON_BASE + 3 : Begin
|
||||
VEdit.Edit.SetEnabled(true);
|
||||
End;
|
||||
MSG_RADIOBUTTON_BASE + 4 : Begin
|
||||
VEdit.Edit.SetEnabled(false);
|
||||
End;
|
||||
MSG_MENU_BASE +2 : Begin
|
||||
quit;
|
||||
End;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
||||
112
bepascal/demos/demo/sources/other_view.pp
Normal file
112
bepascal/demos/demo/sources/other_view.pp
Normal file
@@ -0,0 +1,112 @@
|
||||
{ BePascal - A pascal wrapper around the BeOS API
|
||||
Copyright (C) 2002 Olivier Coursiere
|
||||
Eric Jourde
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
}
|
||||
|
||||
unit other_view;
|
||||
|
||||
{$M+}
|
||||
interface
|
||||
uses
|
||||
classes,beobj, application, message, _beep, roster, SysUtils,interfacedefs,
|
||||
archivable, handler, rect, window, view, graphicdefs, dataio,box, scrollview,statusbar,button,stringview,
|
||||
invoker, messenger, Control,textview,font,textcontrol,radiobutton,common;
|
||||
|
||||
|
||||
type
|
||||
Tother_View = class(BView)
|
||||
public
|
||||
constructor Create(frame : BRect; name : PChar; resizingMode, flags : Cardinal);
|
||||
|
||||
Box1 : BBox;
|
||||
Box2 : BBox;
|
||||
StatusBar1 : BStatusBar;
|
||||
Button1: BButton;
|
||||
Button2: BButton;
|
||||
Button3: BButton;
|
||||
Value : BStringView;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
constructor Tother_View.Create(frame : BRect; name : PChar; resizingMode, flags : Cardinal);
|
||||
Var
|
||||
aRect2,aRect3 : BRect;
|
||||
mess : BMessage;
|
||||
rgb : RGB_color;
|
||||
|
||||
begin
|
||||
inherited;
|
||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
|
||||
// Box for Statusbar
|
||||
aRect2 := BRect.Create(20, 20, 200, 300);
|
||||
Box2 := BBox.Create(aRect2, 'Box1', B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE, B_PLAIN_BORDER);
|
||||
Box2.SetLabel('BStatusBar ');
|
||||
Box2.SetBorder(B_FANCY_BORDER);
|
||||
AddChild(Box2, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// StatusBar1
|
||||
aRect2 := BRect.Create(20, 20, 170, 200);
|
||||
StatusBar1 := BStatusBar.Create(aRect2, 'SB1', 'StatusBar1', 'Trailing Label');
|
||||
Box2.AddChild(StatusBar1, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Button 1
|
||||
aRect2 := BRect.Create(20, 60, 100, 70);
|
||||
mess := BMessage.Create(MSG_BUTTON_BASE+4);
|
||||
Button1 := BButton.Create(aRect2, 'Button 1', 'Inc', mess, B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Button1.SetViewColor(rgb);
|
||||
Box2.AddChild(Button1, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Button 2
|
||||
aRect2 := BRect.Create(20, 60+30, 100, 70+30);
|
||||
mess := BMessage.Create(MSG_BUTTON_BASE+5);
|
||||
Button2 := BButton.Create(aRect2, 'Add Item', 'Dec', mess, B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Button2.SetViewColor(rgb);
|
||||
Box2.AddChild(Button2, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Show text Message
|
||||
aRect2:= BRect.Create(20, 120, 100, 130);
|
||||
Value := BStringView.Create(aRect2,'explain','Position : ',B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Box2.AddChild(Value, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Box for Alert
|
||||
aRect2 := BRect.Create(220, 20, 350, 300);
|
||||
Box1 := BBox.Create(aRect2, 'Box1', B_FOLLOW_LEFT or B_FOLLOW_TOP,
|
||||
B_WILL_DRAW or B_NAVIGABLE, B_PLAIN_BORDER);
|
||||
Box1.SetLabel('BAlert');
|
||||
Box1.SetBorder(B_FANCY_BORDER);
|
||||
AddChild(Box1, nil);
|
||||
aRect2.Free;
|
||||
|
||||
// Button 3
|
||||
aRect2 := BRect.Create(20, 20, 100, 30);
|
||||
mess := BMessage.Create(MSG_BUTTON_BASE+6);
|
||||
Button3 := BButton.Create(aRect2, 'Add Item', 'Alert', mess, B_FOLLOW_LEFT or B_FOLLOW_TOP, B_WILL_DRAW or B_NAVIGABLE);
|
||||
Button3.SetViewColor(rgb);
|
||||
Box1.AddChild(Button3, nil);
|
||||
aRect2.Free;
|
||||
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user