Comments (21)
The type tmseform is declared in \msegui\lib\common\widgets\mseforms.pas:
tmseform = class(tmseformwidget)
protected
class function getmoduleclassname: string; override;
class function hasresource: boolean; override;
public
constructor create(aowner: tcomponent; load: boolean); override;
end;
from mseide-msegui.
The type tbitmap is declared in msegui\lib\common\graphics\msebitmap.pas:
tbitmap = class(tsimplebitmap)
private
fimage: imagety;
fonchange: notifyeventty;
falignment: alignmentsty;
fopacity: colorty;
fnochange: integer;
function getscanline(index: integer): pointer;
procedure checkimage(const bgr: boolean);
procedure getimage;
procedure putimage;
function getpixel(const index: pointty): colorty;
procedure setpixel(const index: pointty; const value: colorty);
function getpixels(const x,y: integer): colorty;
procedure setpixels(const x,y: integer; const value: colorty);
function checkindex(const index: pointty): integer; overload;
function checkindex(const x,y: integer): integer; overload;
//returns index in imagety pixels for bmk_mono and bmk_rgb,
//byte offset for bmk_gray
procedure setalignment(const Value: alignmentsty);
procedure setopacity(avalue: colorty);
procedure updatealignment(const dest,source: rectty;
var alignment: alignmentsty; out newdest,newsource: rectty;
out tileorigin: pointty);
//expand copy areas in order to avoid missing pixels by position rounding
procedure setcolorbackground(const Value: colorty);
procedure setcolorforeground(const Value: colorty);
procedure readtransparency(reader: treader);
protected
procedure getcanvasimage(const bgr: boolean;
var aimage: maskedimagety); override;
procedure setsize(const Value: sizety); override;
function getasize: sizety; virtual;
procedure destroyhandle; override;
procedure createhandle(copyfrom: pixmapty); override;
function getsource: tbitmapcomp; virtual;
procedure assign1(const source: tsimplebitmap; const docopy: boolean); override;
//calls change
procedure dochange; virtual;
procedure defineproperties(filer: tfiler); override;
function getimageref(out aimage: imagety): boolean;
//true if buffer must be destroyed
procedure setkind(const avalue: bitmapkindty); override;
public
// constructor create(const amonochrome: boolean;
// const agdifuncs: pgdifunctionaty = nil);
//nil -> default
constructor create(const akind: bitmapkindty;
const agdifuncs: pgdifunctionaty = nil);
//nil -> default
procedure savetoimage(out aimage: imagety);
procedure loadfromimage(const aimage: imagety);
procedure assign(source: tpersistent); override;
procedure change;
procedure beginupdate;
procedure endupdate;
procedure loaddata(const asize: sizety; const data: pbyte;
const msbitfirst: boolean = false; const dwordaligned: boolean = false;
const bottomup: boolean = false); virtual; //calls change
function hasimage: boolean;
procedure paint(const acanvas: tcanvas; const dest: rectty;
const asource: rectty; aalignment: alignmentsty = [];
const acolorforeground: colorty = cl_default;
const acolorbackground: colorty = cl_default;
//used for monochrome bitmaps,
//cl_default-> acanvas.color, acanvas.colorbackground
const aopacity: colorty = cl_default
//cl_default-> self.opacity
);
overload;
procedure paint(const acanvas: tcanvas; const dest: pointty;
const acolorforeground: colorty = cl_default;
const acolorbackground: colorty = cl_default;
const aopacity: colorty = cl_default
); overload;
//useses self.size and self.alignment
procedure paint(const acanvas: tcanvas; const dest: pointty;
const aalignment: alignmentsty;
const acolorforeground: colorty = cl_default;
const acolorbackground: colorty = cl_default;
const aopacity: colorty = cl_default); overload;
//useses self.size
procedure paint(const acanvas: tcanvas; const dest: rectty;
const acolorforeground: colorty = cl_default;
const acolorbackground: colorty = cl_default;
const aopacity: colorty = cl_default); overload;
//useses self.size and self.alignment
procedure paint(const acanvas: tcanvas; const dest: rectty;
const aalignment: alignmentsty;
const acolorforeground: colorty = cl_default;
const acolorbackground: colorty = cl_default;
const aopacity: colorty = cl_default); overload;
//useses self.size
procedure init(const acolor: colorty); override;
function compressdata: longwordarty;
procedure decompressdata(const asize: sizety; const adata: longwordarty);
property pixel[const index: pointty]: colorty read getpixel write setpixel;
property pixels[const x,y: integer]: colorty read getpixels write setpixels;
property scanline[index: integer]: pointer read getscanline;
property scanhigh: integer read fscanhigh;
//max index in scanline[0] ???
property scanlinestep: integer read fscanlinestep; //bytes
property colorforeground: colorty read fcolorforeground write setcolorforeground default cl_black;
//used for monochrome -> color conversion
property colorbackground: colorty read fcolorbackground write setcolorbackground default cl_white;
//used for monochrome -> color conversion,
//colorbackground for color -> monochrome conversion
property alignment: alignmentsty read falignment write setalignment default [];
property opacity: colorty read fopacity write setopacity default cl_none;
property onchange: notifyeventty read fonchange write fonchange;
end;
from mseide-msegui.
In the source editor, when doing CTRL-click on
mseform
ortmseform
, the corresponding source file does not open.I found something. Please read this message:
https://forum.lazarus.freepascal.org/index.php/topic,26601.msg163796.html#msg163796
Ho indeed, I did forget this, maybe this could be done for MSEide.
I did it for ideU, each time a new project is created, search path for fpc source is added.
For adding search path of declarations, use the button right of mouse, see picture:
But it does not explain with Circular cannot reach some declaration from MSE source.
This because by default it is declared.
By the way, adding the directory of fpc source is great because you have much more result.
@circular17 : Did you fill all fields in the MSEide config form?
from mseide-msegui.
This is the one I use for Ctrl+Click:
from mseide-msegui.
Ok now it works. Thanks for your help. I can browse and compile now.
from mseide-msegui.
I don't know what is the method to find source code in MSEide (but I am sure there is one). Maybe Fred will know.
For me I use my own tools for that. Anyway, I will try to help. Let me an hour...
from mseide-msegui.
While waiting for a better solution, here is a Lazarus project that I made for myself, to study... BGRABitmap. :)
It searches for a keyword in two folders, the folder where is BGRABitmap source code, and the folder where is my collection of BGRABitmap examples.
There is a file keywords.txt with all keywords.
So it could be useful for MSEgui. You just have to set the path to the folders where you want to search and edit keywords.txt. I think you will easily understand how the program works. Hope this helps.
from mseide-msegui.
The type tsimplebitmap is declared in msegui\lib\common\graphics\msegraphics.pas:
tsimplebitmap = class;
from mseide-msegui.
Hello Circular.
When you use CTRL-click, it will jump to file or declaration, see video.
Sorry I dont catch what is wrong for you, I cannot reproduce.
from mseide-msegui.
Or maybe with that video?
from mseide-msegui.
Hello Roland.
Sorry I deleted your post, I wanted to delete one of mine, I dont understand even how it is premised.
I apologize.
Fred
from mseide-msegui.
Here the post of Roland that I deleted (once again, sorry):
I found something. Please read this message:
https://forum.lazarus.freepascal.org/index.php/topic,26601.msg163796.html#msg163796
from mseide-msegui.
From Roland
I found something. Please read this message:
https://forum.lazarus.freepascal.org/index.php/topic,26601.msg163796.html#msg163796
Wow, time goes on so fast!
;(
Here answer of Martin about code completion:
I don't need and don't like more automatism like code completion while writing and automatically popping up windows because it disturbs "the flow of writing and thinking".
Many years ago I promised to make something in this direction if the MSEide+MSEgui community made a significant effort for documentation and a help environment. Nothing happened and now I don't feel bound to the promise anymore. :-)
After many documentations, videos, pubs, etc, ... Martin show me in MSEide source how to enable code completion but strangely will not implement it for MSEide.
Anyway, he agreed that I enable and modif it for ideU.
from mseide-msegui.
I found most of the settings. Though I don't know what FPCLIBDIR is.
I don't have msegui\lib\common\graphics nor msegui\lib\common\graphics. Am I missing some files?
from mseide-msegui.
Hello.
FPCLBDIR is the root directory of fpc source.
Not needed for compilation but for the CTRL+click declaration jumper if you want to jump with fpc source too.
from mseide-msegui.
I don't have msegui\lib\common\graphics nor msegui\lib\common\graphics.
Huh, from where did you download msegui source?
from mseide-msegui.
Ok so that would be C:\lazarus\fpc\3.0.4\source I suppose.
So what remains to solve are the missing files.
I downloaded the msegui folder from the git repository. The file is mseide-msegui-5.0.0.zip.
from mseide-msegui.
I downloaded the msegui folder from the git repository. The file is mseide-msegui-5.0.0.zip.
Huh, strange, I will download it now to see what appends.
from mseide-msegui.
OK, I did download last code, from
https://github.com/mse-org/mseide-msegui
Click on green button "Clone or Download" then download zip and all seems ok:
See content of the zip:
from mseide-msegui.
Ok so that would be C:\lazarus\fpc\3.0.4\source I suppose.
Yes, it depends of what fpc version you are using.
from mseide-msegui.
Ok I found the files in the archive as well. Hmm maybe the extraction was interrupted.
Going to try again extracting...
from mseide-msegui.
Related Issues (20)
- "master" branch has been renamed "main" branch.
- iactivatorclient vs. isqlpropertyeditor - different opinions about setactive method HOT 16
- MSEide multi-language?
- Commit ee10850a of fpc 3.3.1 breaks msegui compatibility. HOT 6
- Some projects fail to build with "mseide" 5.6.6 on linux 64 HOT 8
- msegui & bgrabitmap HOT 7
- New optionswindow: wo_transparentbackground HOT 3
- Is it possible to make a webbrowser with MSEgui ? HOT 5
- MFM-Doktor HOT 2
- Rules for package names HOT 1
- Add mseide.prj or all *.prj to .gitignore HOT 5
- How to have more readable commits HOT 7
- Ugly buttons when I compile the IDE (Linux) HOT 10
- mseide 5.10 get freezed after a second compilation HOT 7
- There is also the "custom frame", with rounded corner and shadows: https://github.com/mse-org/mseuniverse/tree/main/skins/fredvs
- To create custom frames, you may use the property frame/frameimage and select a image-list of 8 bitmaps.
- Can't build documentation HOT 6
- Exception 'Unable to open file ...' when opening a project HOT 9
- [Sieghard branch] mseide desepears after create new project HOT 4
- [Sieghard branch, Linux] MSEClock window not redrawn correctly when resized HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mseide-msegui.