UserGuide

Difference between revisions of "Welcome"

From Xojo Documentation

(User Interface)
 
(49 intermediate revisions by the same user not shown)
Line 34: Line 34:
 
# Double-click the button on the layout to add an Event Handler. This is where you'll put a single line of code to display a message when the button is clicked.
 
# Double-click the button on the layout to add an Event Handler. This is where you'll put a single line of code to display a message when the button is clicked.
 
# After double-clicking the button, the Add Event Handler window appears.<br />[[File:Add Handler Dialog.png|frameless]]<br />
 
# After double-clicking the button, the Add Event Handler window appears.<br />[[File:Add Handler Dialog.png|frameless]]<br />
# Select Pressed and click OK to add the Action event handler. This event handler is called when the button is pressed.
+
# Select Action and click OK to add the Action event handler. This event handler is called when the button is pressed.
 
# The Code Editor now appears. Add this simple line of code to display a message: <rbcode> MessageBox("Welcome to Xojo!")</rbcode>
 
# The Code Editor now appears. Add this simple line of code to display a message: <rbcode> MessageBox("Welcome to Xojo!")</rbcode>
 
# Click the Run button on the toolbar to run your app.
 
# Click the Run button on the toolbar to run your app.
Line 41: Line 41:
  
 
== User Guide Contents ==
 
== User Guide Contents ==
=== [[UserGuide:Fundamentals|Fundamentals]] ===
+
=== Fundamentals ===
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:IDE Overview|IDE Overview]]</div>
+
<div style="font-weight:bold;line-height:1.6;">IDE Overview</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
 
* [[UserGuide:Navigator|Navigator]]
 
* [[UserGuide:Navigator|Navigator]]
 
* [[UserGuide:Layout Editor|Layout Editor]]
 
* [[UserGuide:Layout Editor|Layout Editor]]
* [[UserGuide:Library]]
+
* [[UserGuide:Library|Library]]
* [[UserGuide:Inspector]]
+
* [[UserGuide:Inspector|Inspector]]
* [[UserGuide:Code Editor]]
+
* [[UserGuide:Code Editor|Code Editor]]
* [[UserGuide:Image Set Editor]]
+
* [[UserGuide:Image Set Editor|Image Set Editor]]
* [[UserGuide:Picture Editor]]
+
* [[UserGuide:Picture Editor|Picture Editor]]
* [[UserGuide:Menu Editor]]
+
* [[UserGuide:Menu Editor|Menu Editor]]
* [[UserGuide:Toolbar Editor]]
+
* [[UserGuide:Toolbar Editor|Toolbar Editor]]
* [[UserGuide:Report Layout Editor]]
+
* [[UserGuide:Report Layout Editor|Report Layout Editor]]
* [[UserGuide:Style Editor]]
+
* [[UserGuide:File Type Group Editor|File Type Group Editor]]
* [[UserGuide:File Type Group Editor]]
+
* [[UserGuide:Find, Errors, Messages Panels|Find, Errors, Messages Panels]]
* [[UserGuide:Find, Errors, Messages Panels]]
+
* [[UserGuide:Running the Project|Running the Project]]
* [[UserGuide:Running the Project]]
+
* [[UserGuide:Project Types|Project Types]]
* [[UserGuide:Project Types]]
+
* [[UserGuide:Preferences|Preferences]]
* [[UserGuide:Preferences]]
+
* [[UserGuide:Keyboard Shortcuts|Keyboard Shortcuts]]
* [[UserGuide:Keyboard Shortcuts]]
 
 
</div></div>
 
</div></div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:About Xojo Programming Language|Xojo Programming Language]]</div>
+
<div style="font-weight:bold;line-height:1.6;">Xojo Programming Language</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:Variables and Constants]]
+
* [[UserGuide:Variables and Constants| Variables and Constants]]
* [[UserGuide:Data Types]]
+
* [[UserGuide:Data Types|Data Types]]
* [[UserGuide:Collections of Data]]
+
* [[UserGuide:Collections of Data|Collections of Data]]
* [[UserGuide:Comparing Values]]
+
* [[UserGuide:Comparing Values|Comparing Values]]
* [[UserGuide:Controlling Code Flow]]
+
* [[UserGuide:Controlling Code Flow|Controlling Code Flow]]
* [[UserGuide:Repeating Code]]
+
* [[UserGuide:Repeating Code|Repeating Code]]
* [[UserGuide:Properties]]
+
* [[UserGuide:Properties|Properties]]
* [[UserGuide:Methods]]
+
* [[UserGuide:Methods|Methods]]
* [[UserGuide:Enumerations]]
+
* [[UserGuide:Enumerations|Enumerations]]
* [[UserGuide:Modules]]
+
* [[UserGuide:Modules|Modules]]
* [[UserGuide:Advanced Language Features]]
+
* [[UserGuide:Advanced Language Features|Advanced Language Features]]
 
</div></div>
 
</div></div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:Object-Oriented Programming|Object-Oriented Programming]]</div>
+
<div style="font-weight:bold;line-height:1.6;">Object-Oriented Programming</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:OOP Classes]]
+
* [[UserGuide:OOP Classes|OOP Classes]]
* [[UserGuide:OOP Design Concepts]]
+
* [[UserGuide:OOP Design Concepts|OOP Design Concepts]]
* [[UserGuide:Class Properties, Methods and Events]]
+
* [[UserGuide:Class Properties, Methods and Events|Class Properties, Methods and Events]]
* [[UserGuide:Constructors and Destructors]]
+
* [[UserGuide:Constructors and Destructors|Constructors and Destructors]]
* [[UserGuide:Interfaces]]
+
* [[UserGuide:Interfaces|Interfaces]]
* [[UserGuide:Advanced OOP Features]]
+
* [[UserGuide:Advanced OOP Features|Advanced OOP Features]]
* [[UserGuide:Subclassing Examples]]
+
* [[UserGuide:Subclassing Examples|Subclassing Examples]]
 
</div></div>
 
</div></div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:App Structure|App Structure]]</div>
+
<div style="font-weight:bold;line-height:1.6;">App Structure</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:App Icons]]
+
* [[UserGuide:App Icons|App Icons]]
* [[UserGuide:Desktop Apps]]
+
* [[UserGuide:Desktop Apps|Desktop Apps]]
** [[UserGuide:Desktop App Deployment]]
+
** [[UserGuide:Desktop App Deployment|Desktop App Deployment]]
* [[UserGuide:Web Apps]]
+
* [[UserGuide:Web Apps|Web Apps]]
** [[UserGuide:Web App Deployment Overview]]
+
** [[UserGuide:Web App Deployment Overview|Web App Deployment Overview]]
** [[UserGuide:Web App Deployment Details]]
+
** [[UserGuide:Web App Deployment Details|Web App Deployment Details]]
* [[UserGuide:iOS Apps]]
+
* [[UserGuide:iOS Apps|iOS Apps]]
** [[UserGuide:Xcode Setup]]
+
** [[UserGuide:Xcode Setup|Xcode Setup]]
** [[UserGuide:iOS Simulator]]
+
** [[UserGuide:iOS Simulator|iOS Simulator]]
** [[UserGuide:iOS App Icons]]
+
** [[UserGuide:iOS App Icons|iOS App Icons]]
** [[UserGuide:iOS Retina Images]]
+
** [[UserGuide:iOS Retina Images|iOS Retina Images]]
** [[UserGuide:Using a plist]]
+
** [[UserGuide:Using a plist|Using a plist]]
** [[UserGuide:Copy Files to iOS Device]]
+
** [[UserGuide:Copy Files to iOS Device|Copy Files to iOS Device]]
** [[UserGuide:iOS Device Deployment]]
+
** [[UserGuide:iOS Device Deployment|iOS Device Deployment]]
** [[UserGuide:Submitting to the iOS App Store]]
+
** [[UserGuide:Submitting to the iOS App Store|Submitting to the iOS App Store]]
** [[UserGuide:Submitting to TestFlight]]
+
** [[UserGuide:Submitting to TestFlight|Submitting to TestFlight]]
** [[UserGuide:Deploy to Device With Free Xcode Provisioning Profile]]
+
** [[UserGuide:Deploy to Device With Free Xcode Provisioning Profile|Deploy to Device With Free Xcode Provisioning Profile]]
* [[UserGuide:Console Apps]]
+
* [[UserGuide:Console Apps|Console Apps]]
 
</div></div>
 
</div></div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:Debugging Overview|Debugging]]</div>
+
<div style="font-weight:bold;line-height:1.6;">Debugging</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:Debugger Usage]]
+
* [[UserGuide:Debugger Usage|Debugger Usage]]
* [[UserGuide:Exception Handling]]
+
* [[UserGuide:Exception Handling|Exception Handling]]
* [[UserGuide:Remote Debugging]]
+
* [[UserGuide:Remote Debugging|Remote Debugging]]
* [[UserGuide:Code Profiler]]
+
* [[UserGuide:Code Profiler|Code Profiler]]
 
</div></div>
 
</div></div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:Build Automation|Build Automation]]</div>
+
<div style="font-weight:bold;line-height:1.6;">Build Automation</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:IDE Scripting]]
+
* [[UserGuide:IDE Scripting|IDE Scripting]]
** [[UserGuide:IDE Scripting Building Commands]]
+
** [[UserGuide:IDE Scripting Building Commands|IDE Scripting Building Commands]]
** [[UserGuide:IDE Scripting Constants]]
+
** [[UserGuide:IDE Scripting Constants|IDE Scripting Constants]]
** [[UserGuide:IDE Scripting DoCommand]]
+
** [[UserGuide:IDE Scripting DoCommand|IDE Scripting DoCommand]]
** [[UserGuide:IDE Scripting Input Output Commands]]
+
** [[UserGuide:IDE Scripting Input Output Commands|IDE Scripting Input Output Commands]]
** [[UserGuide:IDE Scripting Notification Commands]]
+
** [[UserGuide:IDE Scripting Notification Commands|IDE Scripting Notification Commands]]
** [[UserGuide:IDE Scripting Project Commands]]
+
** [[UserGuide:IDE Scripting Project Commands|IDE Scripting Project Commands]]
** [[UserGuide:IDE Scripting String Commands]]
+
** [[UserGuide:IDE Scripting String Commands|IDE Scripting String Commands]]
* [[UserGuide:IDE Communicator]]
+
* [[UserGuide:IDE Communicator|IDE Communicator]]
 
</div></div>
 
</div></div>
  
Line 143: Line 142:
 
<div style="font-weight:bold;line-height:1.6;">General</div>
 
<div style="font-weight:bold;line-height:1.6;">General</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:Event Driven Programming]]
+
* [[UserGuide:Event Driven Programming|Event Driven Programming]]
* [[UserGuide:Me vs. Self]]
+
* [[UserGuide:Me vs. Self|Me vs. Self]]
* [[UserGuide:UI Design Tips]]
+
* [[UserGuide:UI Design Tips|UI Design Tips]]
 
</div></div>
 
</div></div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:Desktop UI|Desktop]]</div>
+
<div style="font-weight:bold;line-height:1.6;">Desktop</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:Desktop Windows]]
+
* [[UserGuide:Desktop Windows| Windows]]
* [[UserGuide:Desktop Control Hierarchy]]
+
* [[UserGuide:Desktop Control Hierarchy| Control Hierarchy]]
* [[UserGuide:Desktop Button]]
+
* [[UserGuide:Desktop Button| Button]]
 
* [[UserGuide:Desktop Bevel Button]]
 
* [[UserGuide:Desktop Bevel Button]]
* [[UserGuide:Desktop Disclosure Triangle]]
+
* [[UserGuide:Desktop Disclosure Triangle| Disclosure Triangle]]
* [[UserGuide:Desktop Popup Arrow]]
+
* [[UserGuide:Desktop Popup Arrow| Popup Arrow]]
* [[UserGuide:Desktop SegmentedButton]]
+
* [[UserGuide:Desktop SegmentedButton| SegmentedButton]]
* [[UserGuide:Desktop Scrollbar]]
+
* [[UserGuide:Desktop Scrollbar| Scrollbar]]
* [[UserGuide:Desktop UpDown Arrows]]
+
* [[UserGuide:Desktop UpDown Arrows| UpDown Arrows]]
* [[UserGuide:Desktop Check Box]]
+
* [[UserGuide:Desktop Check Box| Check Box]]
* [[UserGuide:Desktop Popup Menu]]
+
* [[UserGuide:Desktop Popup Menu| Popup Menu]]
* [[UserGuide:Desktop Radio Button]]
+
* [[UserGuide:Desktop Radio Button| Radio Button]]
* [[UserGuide:Desktop Slider]]
+
* [[UserGuide:Desktop Slider| Slider]]
* [[UserGuide:Desktop Text Field]]
+
* [[UserGuide:Desktop Text Field| Text Field]]
* [[UserGuide:Desktop Text Area]]
+
* [[UserGuide:Desktop Text Area| Text Area]]
* [[UserGuide:Desktop Combo Box]]
+
* [[UserGuide:Desktop Combo Box| Combo Box]]
* [[UserGuide:Desktop Canvas]]
+
* [[UserGuide:Desktop Canvas| Canvas]]
* [[UserGuide:Desktop Label]]
+
* [[UserGuide:Desktop Label| Label]]
* [[UserGuide:Desktop Line]]
+
* [[UserGuide:Desktop Line| Line]]
* [[UserGuide:Desktop Oval]]
+
* [[UserGuide:Desktop Oval| Oval]]
* [[UserGuide:Desktop Placard]]
+
* [[UserGuide:Desktop Placard| Placard]]
* [[UserGuide:Desktop Rectangle]]
+
* [[UserGuide:Desktop Rectangle| Rectangle]]
* [[UserGuide:Desktop Round Rectangle]]
+
* [[UserGuide:Desktop Round Rectangle| Round Rectangle]]
* [[UserGuide:Desktop Separator]]
+
* [[UserGuide:Desktop Separator| Separator]]
* [[UserGuide:Desktop Group Box]]
+
* [[UserGuide:Desktop Group Box| Group Box]]
* [[UserGuide:Desktop Page Panel]]
+
* [[UserGuide:Desktop Page Panel| Page Panel]]
* [[UserGuide:Desktop Tab Panel]]
+
* [[UserGuide:Desktop Tab Panel| Tab Panel]]
* [[UserGuide:Desktop Progress Wheel]]
+
* [[UserGuide:Desktop Progress Wheel| Progress Wheel]]
* [[UserGuide:Desktop Progress Bar]]
+
* [[UserGuide:Desktop Progress Bar| Progress Bar]]
* [[UserGuide:Desktop List Box]]
+
* [[UserGuide:Desktop List Box| List Box]]
* [[UserGuide:Desktop HTML Viewer]]
+
* [[UserGuide:Desktop HTML Viewer| HTML Viewer]]
* [[UserGuide:Desktop Image Well]]
+
* [[UserGuide:Desktop Image Well| Image Well]]
* [[UserGuide:Desktop Movie Player]]
+
* [[UserGuide:Desktop Movie Player| Movie Player]]
* [[UserGuide:Desktop OLE Container]]
+
* [[UserGuide:Desktop OLE Container| OLE Container]]
* [[UserGuide:Desktop OpenGL Surface]]
+
* [[UserGuide:Desktop OpenGL Surface| OpenGL Surface]]
* [[UserGuide:Desktop Controllers]]
+
* [[UserGuide:Desktop Controllers| Controllers]]
* [[UserGuide:Office Automation Overview]]
+
* [[UserGuide:Office Automation Overview| Office Automation Overview]]
* [[UserGuide:Desktop Reports]]
+
* [[UserGuide:Desktop Reports| Reports]]
* [[UserGuide:Desktop Dialog Boxes]]
+
* [[UserGuide:Desktop Dialog Boxes| Dialog Boxes]]
* [[UserGuide:Desktop Toolbars]]
+
* [[UserGuide:Desktop Toolbars| Toolbars]]
* [[UserGuide:Desktop Menus]]
+
* [[UserGuide:Desktop Menus| Menus]]
* [[UserGuide:Desktop Control Sets]]
+
* [[UserGuide:Desktop Control Sets| Control Sets]]
* [[UserGuide:Desktop Container Controls]]
+
* [[UserGuide:Desktop Container Controls| Containers]]
* [[UserGuide:Desktop Drag and Drop]]
+
* [[UserGuide:Desktop Drag and Drop| Drag and Drop]]
* [[UserGuide:Desktop Custom Controls]]
+
* [[UserGuide:Desktop Custom Controls| Custom Controls]]
 
</div></div>
 
</div></div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:Web UI|Web]]</div>
+
<div style="font-weight:bold;line-height:1.6;">Web</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:Web Pages]]
+
* [[UserGuide:Web Pages | Web Pages]]
* [[UserGuide:Changing the Appearance of Controls]]
+
* [[UserGuide:Changing the Appearance of Controls| Changing the Appearance of Controls]]
* [[UserGuide:Web Control Hierarchy]]
+
* [[UserGuide:Web Control Hierarchy| Control Hierarchy]]
* [[UserGuide:Web Button]]
+
* [[UserGuide:Web Button| Button]]
* [[UserGuide:Web SegmentedButton]]
+
* [[UserGuide:Web Segmented Button| Segmented Button]]
* [[UserGuide:Web Toolbar]]
+
* [[UserGuide:Web Toolbar| Toolbar]]
* [[UserGuide:Web Check Box]]
+
* [[UserGuide:Web Check Box| Check Box]]
* [[UserGuide:Web File Uploader]]
+
* [[UserGuide:Web File Uploader| File Uploader]]
* [[UserGuide:Web Popup Menu]]
+
* [[UserGuide:Web Popup Menu| Popup Menu]]
* [[UserGuide:Web Radio Group]]
+
* [[UserGuide:Web Radio Group| Radio Group]]
* [[UserGuide:Web Slider]]
+
* [[UserGuide:Web Slider| Slider]]
* [[UserGuide:Web Search Field]]
+
* [[UserGuide:Web Search Field| Search Field]]
* [[UserGuide:Web Text Area]]
+
* [[UserGuide:Web Text Area| Text Area]]
* [[UserGuide:Web Text Field]]
+
* [[UserGuide:Web Text Field| Text Field]]
* [[UserGuide:Web Canvas]]
+
* [[UserGuide:Web Canvas| Canvas]]
* [[UserGuide:Web Label]]
+
* [[UserGuide:Web Label| Label]]
* [[UserGuide:Web Link]]
+
* [[UserGuide:Web Link| Link]]
* [[UserGuide:Web Rectangle]]
+
* [[UserGuide:Web Rectangle| Rectangle]]
* [[UserGuide:Web Separator]]
+
* [[UserGuide:Web Separator| Separator]]
* [[UserGuide:Web Progress Bar]]
+
* [[UserGuide:Web Progress Bar| Progress Bar]]
* [[UserGuide:Web Progress Wheel]]
+
* [[UserGuide:Web Progress Wheel| Progress Wheel]]
* [[UserGuide:Web HTML Viewer]]
+
* [[UserGuide:Web HTML Viewer| HTML Viewer]]
* [[UserGuide:Web Image Viewer]]
+
* [[UserGuide:Web Image Viewer| Image Viewer]]
* [[UserGuide:Web List Box]]
+
* [[UserGuide:Web Map Viewer| Map Viewer]]
* [[UserGuide:Web Map Viewer]]
+
* [[UserGuide:Web Movie Player| Movie Player]]
* [[UserGuide:Web Movie Player]]
+
* [[UserGuide:Web Controllers| Controllers]]
* [[UserGuide:Web Controllers]]
+
* [[UserGuide:Web Page Source| Page Source]]
* [[UserGuide:Web Device Location]]
+
* [[UserGuide:Web Timer| Timer]]
* [[UserGuide:Web Page Source]]
+
* [[UserGuide:Web Dialog Boxes | Dialog Boxes]]
* [[UserGuide:Web Timer]]
+
* [[UserGuide:Web Container | Container]]
* [[UserGuide:Web Dialog Boxes]]
+
* [[UserGuide:Web Menus| Menus]]
* [[UserGuide:Web Container]]
+
* [[UserGuide:Using Google Fonts in Web Apps| Using Google Fonts]]
* [[UserGuide:Web Menus]]
 
* [[UserGuide:Using Google Fonts in Web Apps]]
 
 
</div></div>
 
</div></div>
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:iOS UI|iOS]]</div>
+
<div style="font-weight:bold;line-height:1.6;">iOS</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:iOS Auto Layout]]
+
* [[UserGuide:iOS Auto Layout| iOS Auto Layout]]
* [[UserGuide:iOS Button]]
+
* [[UserGuide:iOS Countdown Picker| iOS Countdown Picker]]
* [[UserGuide:iOS Canvas]]
+
* [[UserGuide:iOS Layouts| iOS Layouts]]
* [[UserGuide:iOS Container Control]]
+
* [[UserGuide:iOS Mobile Table| iOS Mobile Table]]
* [[UserGuide:iOS Control Hierarchy]]
+
* [[UserGuide:iOS Split Layout| iOS Split Layout]]
* [[UserGuide:iOS Controllers]]
+
* [[UserGuide:iOS TabBars| iOS TabBars]]
* [[UserGuide:iOS Date Picker]]
+
* [[UserGuide:Mobile Button| Button]]
* [[UserGuide:iOS Dialog Boxes]]
+
* [[UserGuide:Mobile Canvas| Canvas]]
* [[UserGuide:iOS HTML Viewer]]
+
* [[UserGuide:Mobile Container| Container]]
* [[UserGuide:iOS Image View]]
+
* [[UserGuide:Mobile Control Hierarchy| Control Hierarchy]]
* [[UserGuide:iOS Label]]
+
* [[UserGuide:Mobile Controllers| Controllers]]
* [[UserGuide:iOS Launch Screen]]
+
* [[UserGuide:Mobile DateTime Picker| DateTime Picker]]
* [[UserGuide:iOS Line]]
+
* [[UserGuide:Mobile Dialog Boxes| Dialog Boxes]]
* [[UserGuide:iOS Location]]
+
* [[UserGuide:Mobile HTML Viewer| HTML Viewer]]
* [[UserGuide:iOS Message Box]]
+
* [[UserGuide:Mobile Image Picker| Image Picker]]
* [[UserGuide:iOS Oval]]
+
* [[UserGuide:Mobile Image Viewer| Image Viewer]]
* [[UserGuide:iOS Picture Picker]]
+
* [[UserGuide:Mobile Label| Label]]
* [[UserGuide:iOS Progress Bar]]
+
* [[UserGuide:Mobile Launch Screen| Launch Screen]]
* [[UserGuide:iOS Progress Wheel]]
+
* [[UserGuide:Mobile Location| Location]]
* [[UserGuide:iOS Rectangle]]
+
* [[UserGuide:Mobile Map Viewer| Map Viewer]]
* [[UserGuide:iOS Screens]]
+
* [[UserGuide:Mobile Message Box| Message Box]]
* [[UserGuide:iOS Scrollable Area]]
+
* [[UserGuide:Mobile Oval| Oval]]
* [[UserGuide:iOS Segmented Control]]
+
* [[UserGuide:Mobile Progress Bar| Progress Bar]]
* [[UserGuide:iOS Separator]]
+
* [[UserGuide:Mobile Progress Wheel| Progress Wheel]]
* [[UserGuide:iOS Sharing Panel]]
+
* [[UserGuide:Mobile Rectangle| Rectangle]]
* [[UserGuide:iOS Slider]]
+
* [[UserGuide:Mobile Screens| Screens]]
* [[UserGuide:iOS Split Screen]]
+
* [[UserGuide:Mobile Scrollable Area| Scrollable Area]]
* [[UserGuide:iOS Switch]]
+
* [[UserGuide:Mobile Segmented Button| Segmented Button]]
* [[UserGuide:iOS TabBars]]
+
* [[UserGuide:Mobile Separator| Separator]]
* [[UserGuide:iOS Table]]
+
* [[UserGuide:Mobile Sharing Panel| Sharing Panel]]
* [[UserGuide:iOS Text Area]]
+
* [[UserGuide:Mobile Slider| Slider]]
* [[UserGuide:iOS Text Field]]
+
* [[UserGuide:Mobile Switch| Switch]]
* [[UserGuide:iOS Tool Button]]
+
* [[UserGuide:Mobile Text Area| Text Area]]
* [[UserGuide:iOS Toolbars]]
+
* [[UserGuide:Mobile Text Field| Text Field]]
* [[UserGuide:iOS Views]]
+
* [[UserGuide:Mobile Toolbar Button| Toolbar Button]]
 +
* [[UserGuide:Mobile Toolbars| Toolbars]]
 
</div></div>
 
</div></div>
  
=== [[UserGuide:Framework|Framework]] ===
+
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">Framework</div>
 +
<div class="mw-collapsible-content">
 
* [[:Category:User Guide Framework File Management|File Management]]
 
* [[:Category:User Guide Framework File Management|File Management]]
 
* [[:Category:User Guide Framework Text Handling|Text Handling]]
 
* [[:Category:User Guide Framework Text Handling|Text Handling]]
Line 291: Line 292:
 
=== Technical Information ===
 
=== Technical Information ===
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:400px; overflow:auto;">
<div style="font-weight:bold;line-height:1.6;">[[UserGuide:Code Management|Code Management]]</div>
+
<div style="font-weight:bold;line-height:1.6;">Code Management</div>
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
* [[UserGuide:Coding Guidelines]]
+
* [[UserGuide:Coding Guidelines| Coding Guidelines]]
* [[UserGuide:Sharing Code]]
+
* [[UserGuide:Sharing Code| Sharing Code]]
* [[UserGuide:Source Control]]
+
* [[UserGuide:Source Control| Source Control]]
* [[UserGuide:Custom Code Reformatting]]
+
* [[UserGuide:Custom Code Reformatting| Custom Code Reformatting]]
 
</div></div>
 
</div></div>
 +
  
 
=== All Topics ===
 
=== All Topics ===

Latest revision as of 22:28, 23 November 2020

Welcome to Xojo, an integrated software developer tool and programming language that is the easiest way to make desktop, web and iOS apps. With Xojo you can create desktop apps for Windows, Mac and Linux (including Raspberry Pi), web apps for all popular web browsers and iOS apps for iPhones, iPads and other iOS devices.

Workspace on macOS.png

Xojo is a rapid application development (RAD) tool with a user interface (UI) builder that lets you create your app's user interface with little to no programming required. If you know how to drag and drop, you can build the UI using the wide variety of built-in controls, making it easy to create powerful, multi-platform desktop, web and iOS applications faster than you ever thought possible. If you are new to programming, you will find Xojo’s object-oriented programming language easy to learn. If you are an experienced programmer, you will find the language to be powerful and robust. In either case, you will find you can accomplish quite a bit in a short amount of time.

One way Xojo makes app development faster and easier than traditional tools is by removing the need to learn how to use the complex Application Programming Interface (API) for the operating system. Instead, you use the Xojo Programming Language and Framework which provides a simpler and faster way to create your apps.

Xojo doesn't force you to use a specific OS. Are you a Mac developer that wants to create Windows apps? You can do that with Xojo right from your Mac. Do you use Windows, but want to create Mac apps? You can do that from within Windows. In fact, you can develop using Xojo on Windows, Mac or Linux to create apps that work on Windows, Mac, Linux or web (iOS app development does require a Mac, however).

About the Xojo Programming Language

Xojo is an integrated tool, but it is also a programming language for Windows, Mac, Linux, iOS, web and Raspberry Pi. Xojo builds on languages such as Visual Basic and Java to provide the fastest and easiest way for you to create the apps you need for the platforms you use. Xojo uses safe programming patterns (strong data typing, for example), is object-oriented and has modern programming features such as introspection, extension methods and delegates. Programming with Xojo is fast, easy and most importantly, fun!

Although maybe you haven't heard of it before, Xojo has been around for many years. Since 1998, in fact. Xojo was originally called REALbasic, then eventually Real Studio, but the programming language remains largely the same. Xojo was one of the first languages to use Automatic Reference Counting (ARC), something that other languages such as Swift and Objective-C now use. Although Xojo is easy to learn and use, it also has advanced features such as namespaces, extension methods, exception handling, introspection, delegates and more.

And Xojo is always being modernized. For 64-bit apps (and Raspberry Pi), Xojo uses the LLVM compiler tools to compile your apps for the best possible performance. LLVM are the same compiler tools used by Apple with Swift and Objective-C. A new Xojo framework is being made available, which uses a more modern design, standardizes API calls and takes advantage of new technologies. Xojo is ready for the future and the next 20 years of software development.

Xojo feels familiar to programmers who have used other languages such as Visual Basic, Java and C# because it uses a similar object-oriented programming model, with similar data types and constructs. Using Xojo, you'll be able to create apps even faster than you ever thought possible.

Xojo is also friendly to new programmers. A big problem with most programming languages is that they are overcomplicated and overwhelm those new to them. Xojo has a powerful, integrated code editor with auto-complete that makes it easy to learn the language. The Xojo IDE is also incredibly easy to use, making experimentation (one of the best ways to learn) fast and fun.

Xojo is a great programming language for creating all types of apps, from simple "hello, world" to powerful enterprise software. With Xojo you'll create your apps in less time than before at less cost, making it a great investment for you or your company. It is a wonderful way to create apps for Windows, Mac, Linux, iOS, web and Raspberry Pi and continues to evolve with new features and capabilities added on a regular basis (quarterly, in fact). Our goals with Xojo have always been to make programming simpler. We can't wait to see what you create with it!

Installing Xojo

You can download Xojo for your operating system (Windows, Mac or Linux) from the Xojo Download page. You'll have to first create an account (your Xojo ID), but after that Xojo is free to use. You can purchase a license when you are ready to create stand-alone apps. Xojo works on all current operation systems. For more specifics, you can review the Xojo System Requirements.

After the download has completed, you can run the installer (or copy the files) for your OS. Once the installation is finished (it only takes a minute or so), you can start Xojo to begin creating your first app.

Starting with Xojo

After starting Xojo, the Project Chooser window appears. In order for you to quickly dive right into Xojo, follow these steps to create your first (admittedly simple) desktop app.

  1. In the Project Chooser, choose "Desktop" and fill in the App Name as "MyFirstApp" and click OK. This displays the IDE (or Integrated Development Environment) with the Workspace for the project. This is where you work on your Xojo projects, creating UI layouts and writing code. Don't worry about everything that you see there, it will be covered later in the User Guide.
  2. Now, drag a Button from the Control Library on the right onto the Window layout in the center. You can position the button anywhere you like within the window.
  3. With the button selected, press Return to change its caption to "Click Me".
  4. Double-click the button on the layout to add an Event Handler. This is where you'll put a single line of code to display a message when the button is clicked.
  5. After double-clicking the button, the Add Event Handler window appears.
    Add Handler Dialog.png
  6. Select Action and click OK to add the Action event handler. This event handler is called when the button is pressed.
  7. The Code Editor now appears. Add this simple line of code to display a message:
    MessageBox("Welcome to Xojo!")
  8. Click the Run button on the toolbar to run your app.
  9. Click the button to display the message.
    WelcomeToXojo.png

That's it. You've now created an app. Although Xojo makes it easy to create simple apps, it can also create much larger and more powerful apps just as easily. In fact, Xojo is actually written in Xojo!

User Guide Contents

Fundamentals


User Interface