Giter Club home page Giter Club logo

Comments (21)

rchastain avatar rchastain commented on July 23, 2024 1

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.

rchastain avatar rchastain commented on July 23, 2024 1

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.

fredvs avatar fredvs commented on July 23, 2024 1

In the source editor, when doing CTRL-click on mseform or tmseform, 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:

Capture d’écran_2020-04-12_17-37-47

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?

Capture d’écran_2020-04-12_17-35-53

from mseide-msegui.

fredvs avatar fredvs commented on July 23, 2024 1

This is the one I use for Ctrl+Click:

Capture d’écran_2020-04-12_17-55-05

from mseide-msegui.

circular17 avatar circular17 commented on July 23, 2024 1

Ok now it works. Thanks for your help. I can browse and compile now.

from mseide-msegui.

rchastain avatar rchastain commented on July 23, 2024

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.

rchastain avatar rchastain commented on July 23, 2024

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.

lazarus-search-keywords.zip

from mseide-msegui.

rchastain avatar rchastain commented on July 23, 2024

The type tsimplebitmap is declared in msegui\lib\common\graphics\msegraphics.pas:

tsimplebitmap = class;

from mseide-msegui.

fredvs avatar fredvs commented on July 23, 2024

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.

mseide_newproject.zip

from mseide-msegui.

fredvs avatar fredvs commented on July 23, 2024

Or maybe with that video?

mseide_newproject2.zip

from mseide-msegui.

fredvs avatar fredvs commented on July 23, 2024

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.

fredvs avatar fredvs commented on July 23, 2024

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.

fredvs avatar fredvs commented on July 23, 2024

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.

Capture d’écran_2020-04-12_20-30-53

from mseide-msegui.

circular17 avatar circular17 commented on July 23, 2024

I found most of the settings. Though I don't know what FPCLIBDIR is.
mse_setting

I don't have msegui\lib\common\graphics nor msegui\lib\common\graphics. Am I missing some files?
common_folder

from mseide-msegui.

fredvs avatar fredvs commented on July 23, 2024

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.

fredvs avatar fredvs commented on July 23, 2024

I don't have msegui\lib\common\graphics nor msegui\lib\common\graphics.

Huh, from where did you download msegui source?

Capture d’écran_2020-04-12_22-51-24

from mseide-msegui.

circular17 avatar circular17 commented on July 23, 2024

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.

fredvs avatar fredvs commented on July 23, 2024

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.

fredvs avatar fredvs commented on July 23, 2024

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:

Capture d’écran_2020-04-12_22-56-49

from mseide-msegui.

fredvs avatar fredvs commented on July 23, 2024

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.

circular17 avatar circular17 commented on July 23, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.