FreeCAD GUI Widgets toolkit: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 20: Line 20:
sg.addChild(root)
sg.addChild(root)
}}
}}
=== Installing the GUI toolkit===
You need to install the Design456 Workbench to be able to use this widget system. Or you can specifically import the toolkit in your python code, but still you need to install the Design456 Workbench

=== [[Fr_Widget Basics]]===
=== [[Fr_Widget Common Widgets]]===

Revision as of 09:22, 15 August 2021

Design456 - FreeCAD GUI Widgets toolkit:

Introduction

In the effort of making new tools for the direct modeling, graphical interface needed. Widget system required to let the user interact with the 3D world and the objects in side the document. Often FreeCAD implemented this interactive part as a ViewProivder part. These ViewProvider are made for each tool and they are specific for each tools.

This wouldn't be good for Design456 and wouldn't make producing new tools easy. That is why I needed to figure out how COIN3D works and how drawings are implemented there.

This GUI toolkit will in the beginning try to produce different kind of primitive drawings which then can be adapted by different widgets (i.e square, circle, triangle, ellipse, ..etc.) For example an arrow that user can push or pull to get the effect of extruding or pushing a face of an 3D object.

As I am inspired totally by the simplicity of FLTK GUI Toolkit for used for making Windows/MAC/Linux GUI interface in CPP and other languages, this toolkit will try to make it in the same flavor.

Simple example showing a drawing
from pivy import coin
import fr_draw as d 
from PySide import QtCore,QtGui
sg = FreeCADGui.ActiveDocument.ActiveView.getSceneGraph()
root=d.draw_circle()
sg.addChild(root)

Installing the GUI toolkit

You need to install the Design456 Workbench to be able to use this widget system. Or you can specifically import the toolkit in your python code, but still you need to install the Design456 Workbench

Fr_Widget Basics

Fr_Widget Common Widgets