On Thursday 24 March 2016 17:06:45 Krzysztof wrote:
> Hi,
>
> I would like to try migrate my LCL app to MSEGui but I don't know if
> something is missing in MSEGui:
> 1. My app is "chat" kind. In LCL, for messages view I used TIpHTMLPanel.
> Does MSEGUI has something similar? In fact I don't need HTML, RTF is
> enough. Selectable formatted text with images (as emoi icons or user
> profile picture)

MSEgui has TTextEdit which must be placed in a TWidgetGrid. The MSEide source 
editor uses that combination. TTextEdit supports formatted text but no 
images. The best probably would be to make a MSEgui widget which uses an 
external HTML engine/library. This is already on todo-list. Do you have 
suggestions?

> 2. Handle fontawesome icons ( https://fortawesome.github.io/Font-Awesome/ )
> . They are icons colection based on true type font (.ttf, .otf). In LCL I
> used TFreeTypeFont, TIntfFreeTypeDrawer and TLazIntfImage. In fpGUI -
> TAgg2D

That means you need to rasterize TrueType glyphs to a pixmap and show them in 
a widget? MSEgui has a freetype based font engine in lib/common/graphics/ 
which can do the job. Please ask if you need extensions in the API, I'll make 
them ASAP. I prefer to do developments based on real applications. :-)

> 3. Is there any example how to use themes / styles? There is demo 
> but it is hard to analyze it, too much properties. Any doc or quick
> explanation?

Quick explanation:
Every TWidget has the properties TWidget.Frame and TWidget.Face.
If they are not used the only resource they need is a single nil-pointer.
TFrame defines the border of the widget, TFace the client area, please see 
Michaels explanation on Wiki:
http://wiki.freepascal.org/Reference:_MSEgui/TFrame
http://wiki.freepascal.org/Reference:_MSEgui/TFace

TFrame and TFace both have the property "Template" which links to TFrameComp 
and TFaceComp respectively. T*Comp broadcast their property settings to all 
connected frames and faces. There is also TFont.Template and TFontComp.
TSkinController sets the "Template" properties, colors and other widget 
specific properties of created widgets based on the property settings of 
TSkinController, please see the skin of MSEide in apps/ide/guitemplates.pas 
for an example.
Alexandre made the "skin center" application in order to simplify the 
management of skins:
http://thread.gmane.org/gmane.comp.ide.mseide.user/32140
He also made an application which generates the imagelist for pixmap based 
frames.

> 4. Same for layouts 

MSEgui uses TWidget.Anchors, TSpacer, TSplitter, TLayouter and code in 
OnLayout event for layout purpose.
Explanation probably is best done by a concrete example, please write what you 
want to achieve.

> 5. TListView with OwnData / OwnDraw support (something like
> virtualtreeview)

TTreeItemEdit placed in a TWidgetGrid. TWidgedGrid (component palette 
tab 'Edit') is a grid widget where inserted edit widgets build data columns. 
That means it is possible to combine a TreeItemEdit column with a text-, a 
datatime, an image and a button column for example. The inserted widgets with 
all their properties and events are fully working. Examples of TTreeItemEdit 
are here:
https://gitlab.com/mseide-msegui/mseuniverse/tree/master/attic/msedocumenting/mse/trunk/help/tutorials/widgets/treeview
For flat data items there is TItemEdit (also placed in a TWidgetGrid). There 
is also TListView (tab 'Widget') for a flat list of items showed in a 
rectangular area.

> 6. Macos. I'm providing app for linux and windows only but 
> in future I would like for Macos too. Are any plans to implement this
> target?
>
Do you mean OS X? Porting MSEgui to OS X by using X11 probably is no big 
effort. I would prefer to make a Quartz backend. I fear that MAC people will 
not accept anything which is not 200% Apple-like.

Feel free to ask questions about MSEide+MSEgui here on the list.

Martin

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
_______________________________________________
mseide-msegui-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Reply via email to