All Projects → TotalCross → Totalcross

TotalCross / Totalcross

Licence: lgpl-2.1
TotalCross is a Software Development Kit that helps cross platform application development. Currently supported platforms are: Windows, Wince, Android, iOS, Linux and Linux ARM for embedded systems.

Programming Languages

java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Totalcross

Renode
Renode - Antmicro's virtual development framework for complex embedded systems
Stars: ✭ 525 (+257.14%)
Mutual labels:  embedded-systems, iot
Rt Thread
RT-Thread is an open source IoT operating system.
Stars: ✭ 6,466 (+4298.64%)
Mutual labels:  embedded-systems, iot
Xfrp
xfrps&frp client for openwrt&LEDE
Stars: ✭ 205 (+39.46%)
Mutual labels:  embedded-systems, iot
Tinytpu
Implementation of a Tensor Processing Unit for embedded systems and the IoT.
Stars: ✭ 153 (+4.08%)
Mutual labels:  embedded-systems, iot
Printf
Tiny, fast, non-dependent and fully loaded printf implementation for embedded systems. Extensive test suite passing.
Stars: ✭ 1,157 (+687.07%)
Mutual labels:  embedded-systems, iot
Swupdate
Software Update for Embedded Systems
Stars: ✭ 711 (+383.67%)
Mutual labels:  embedded-systems, iot
Guilite
✔️The smallest header-only GUI library(4 KLOC) for all platforms
Stars: ✭ 5,841 (+3873.47%)
Mutual labels:  iot, gui
Easygui
Easy GUI for microcontrollers
Stars: ✭ 116 (-21.09%)
Mutual labels:  embedded-systems, gui
Qtools
QTools collection of open source tools for embedded systems development on Windows, Linux and MacOS
Stars: ✭ 64 (-56.46%)
Mutual labels:  embedded-systems, gui
Wolfssl
wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!
Stars: ✭ 1,098 (+646.94%)
Mutual labels:  embedded-systems, iot
Samples
🍬 Code samples from the nanoFramework team used in testing, proof of concepts and other explorational endeavours
Stars: ✭ 108 (-26.53%)
Mutual labels:  embedded-systems, iot
Szl
A lightweight, embeddable scripting language
Stars: ✭ 134 (-8.84%)
Mutual labels:  embedded-systems, iot
E Books
A collections of FREE ebooks
Stars: ✭ 143 (-2.72%)
Mutual labels:  embedded-systems
Diff Gui
GUI for Frida -Scripts
Stars: ✭ 146 (-0.68%)
Mutual labels:  gui
Laravel Paket
Composer GUI. Manage Laravel dependencies from web interface without switching to command line!
Stars: ✭ 143 (-2.72%)
Mutual labels:  gui
Globalprotect Openconnect
A GlobalProtect VPN client (GUI) for Linux based on OpenConnect and built with Qt5, supports SAML auth mode.
Stars: ✭ 143 (-2.72%)
Mutual labels:  gui
Qamel
Simple QML binding for Go
Stars: ✭ 147 (+0%)
Mutual labels:  gui
Scap Workbench
SCAP Scanner And Tailoring Graphical User Interface
Stars: ✭ 145 (-1.36%)
Mutual labels:  gui
Wolfssh
wolfSSH is a small, fast, portable SSH implementation, including support for SCP and SFTP.
Stars: ✭ 142 (-3.4%)
Mutual labels:  iot
Conductor
A Composer user interface built using Electron.
Stars: ✭ 142 (-3.4%)
Mutual labels:  gui

TotalCross

The fastest way to build GUI for embedded devices

Get Started   •   Website   •   Docs   •   Blog   •   Telegram   •   Videos   •   Community

FOSSA Status build

Install

TotalCross exists to make Graphical User Interface creation easy.

To start you only need to install it on your machine, and you have two options:

Install TotalCross VSCode plugin

The quickest way to start using TotalCross is to download the VSCode plugin. We highly recommend this route as it is a smoother process.

Make sure all dependencies are fulfilled (Java JDK 11+, Maven 3.6.2+, and Microsoft Java Extension Plugin), create a new project, and you are ready to go!

... or run TotalCross from scratch yourself!

If you prefer to run TotalCross yourself so you can develop on your choice of IDE, clone our HelloWorld repository, make sure you have all dependencies listed above in place, run mvn package and you are ready to go!

Usage

This is how you create a button with TotalCross:

package com.totalcross;
import totalcross.ui.gfx.Color;
import totalcross.sys.Settings;
import totalcross.ui.Button;
import totalcross.ui.MainWindow;
public class HelloWorld extends MainWindow {

    private Button btnRed;
    public HelloWorld(){
        setUIStyle(Settings.MATERIAL_UI);
    }
    @Override
    public void initUI(){
        btnRed = new Button("Red");
        btnRed.setBackForeColors(Color.RED, Color.WHITE);
        add(btnRed, CENTER,CENTER );
    }
}

This is how you extend a button to full screen width:

     public void initUI() {
        btnRed = new Button("Red");
        btnRed.setBackForeColors(Color.RED, Color.WHITE);
        add(btnRed, CENTER, CENTER, PARENTSIZE, PREFERRED);
    }

This is how you round borders on a button:

     public void initUI() {
        btnRed = new Button("Red", Button.BORDER_ROUND);
        btnRed.setBackForeColors(Color.RED, Color.WHITE);
        add(btnRed, CENTER, CENTER, PARENTSIZE, PREFERRED);
    }

This is how event handling happens:

     public void initUI() {
        btnRed = new Button("Red", Button.BORDER_ROUND);
        btnRed.setBackForeColors(Color.RED, Color.WHITE);
        btnRed.addPressListener((event) -> {
            // DO SOMETHING
        });
        add(btnRed, CENTER, CENTER, PARENTSIZE, PREFERRED);
    }

Cool, right? Easy as pie! :)

What next?

Check out our documentation or read through a quick starting guide (aprox. 8 minutes) and learn how TotalCross Components will save you tons of time when you build your GUI.

Have any questions?

Join our Telegram group. We are super quick to welcome and provide help to new users 😅.

There's also a handy FAQ.md file with all sorts of useful information, as what is inside this repo, how TotalCross works, how to become a contributor, and more.

Our contributors

We'd like to give a BIG shout-out to our three first external contributors! These people have helped make TotalCross better by enriching ongoing discussions, reporting bugs, opening issues, and publishing relevant content (videos, articles and etc):

Guys, you rock!

RoadMap

Find out what TotalCross world domination plans are by clicking here.

Where you can find us:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].