Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
168 user(s) are online (127 user(s) are browsing Forums)

Members: 0
Guests: 168

more...

Headlines

 
  Register To Post  

« 1 ... 3 4 5 (6)
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@Javier
Quote:

Maybe 'cos it's easy to set:
GA_Left, _myWin->BorderLeft + 2 + (idx * 24), // as we add IDX gadgets
GA_Top, _myWin->BorderTop + 1,

rather that doing "complex" calculations.


So how this one should be less complex then ?:) :

IIntuition->SetAttrs(browsegad, GA_RelRight, x - browsegad->Width - 1,TAG_END);


@All
Have anyone any idea, how we can try to "expand" our patched window, i.e. not add gadget on top of ready window, but, expand whole window with new gadget (mean resize the whole window on the size of gadgets we add, and put them on new/added position of the window). I.e. to have all those "name", "type" and "date" gadgets at top follow after our bar's gadgets. Not just to have our gadgets over the window's content.

See what i mean:





There the url-bar i added at bottom added just on the window content , and overrites with the content of the window once there anything to add in (see at the end of video). That all because we add it at top of the window, while, it should be part of window's gadgets (by resizing the window and updating actual gadget list of window, not just creating new ones on top of window)

I think it should be something like:

-- reading window's size
-- increase the window size on size of the toolbar
-- find the first gadgets in the window and add our ones before

Any ideas how to do it ?:)


Edited by kas1e on 2023/11/21 2:54:58
Edited by kas1e on 2023/11/21 2:59:03
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Just popping in
Just popping in


See User information
@kas1e

The problem is, that workbench does not know of any gadgets other than its own.
It still is a plain intuition window (no reaction class or boopsi class).
So the rendering uses the whole window area.
Any gadgets you place inside the windows area will be painted over by the workbenchs rendering.

Therefor a solution is, to put the custom gadgets inside the window border.
Well, this means that the top border is problematic, because of the title.
If you increase the top border height, the title will be centered and gets in the way.

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@Context
Quote:

Any gadgets you place inside the windows area will be painted over by the workbench rendering.


Yeah, of course, so we need to place them not inside the window, but use other areas of window: borders, titles, etc. Titles is not the way if we want to cookie up something good-looking, but borders are ok.

Quote:

Therefor, a solution is, to put the custom gadgets inside the window border. Well, this means that the top border is problematic, because of the title. If you increase the top border height, the title will be centered and gets in the way.


So, is it possible to increase top border height from my patching function ? Just want to play with it in sake of tests.


And, isn't gadgets such as "name", "title" and "date" are part of window border, or of window content ? What if i can find in the list of gadget structures where they placed, and add before them another gadget, and upload them back to their original position. This will (probably) automatically extend the area below the title bar, and before the "name/title/data" gadgets to give me a new space to put by gadget in ? Or that will not work ?

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@Context
I just tried simple way, just by settings win->BorderTop to my value, like this:

win->BorderTop win->BorderTop+50;
return 
win;


And that what i have then:

Resized Image

See, it increases the area where gadgets are, and content of window seems to do not overwrite it. Probably that mean, that gadgets are placed on the border too, not inside the intuition window itself ?

But with this simple change, while it increase size, it bring some rendering issues in the window (At bottom, at the right) when i resize window, which i assume happens because i also need to initialize/clear the whole memory of this new added size to make rendering issues disappear ?

Anyway, if gadgets are attached to the border, and i want my one to be placed before (as first one), then i need to read gadgets, add my one, at upload them back via SetAttr ?

And as i see title are ok still after i change border size ?

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Just popping in
Just popping in


See User information
Just a suggestion but wouldn't it be simpler to write a small commodity that simply open Filer or any other similar tools directly to the drive/drawer you want to open by double click?

In the same way, ASL requester could be also patched to use (new type of enhanced) requester (a bit like the MUI one do), no?

Regards,

Go to top
Re: DrawerGenie for AOS4?
Just can't stay away
Just can't stay away


See User information
@kas1e

in textmode window (as your grab) the titles headers are created as CUSTOMGADGET and seems it is just after window is opened/created.

So if we can "clone" such custom gadget creating maybe we can do something.

wen I open such (type) of window on my SetMethod() debug output got:
...
createNewGadget(): 0x5bb7369c [301]
window (0x5bb72f48) with added gadget (last):
Gad_#01 = 0x5bb72d5c
Gad_#02 = 0x5bb72de4
Gad_#03 = 0x5bb732bc
Gad_#04 = 0x5bb73344
Gad_#05 = 0x5bb733cc
Gad_#06 = 0x5fe5ec0e
Gad_#07 = 0x5fe5ec3a
Gad_#08 = 0x5fe5ec66
Gad_#09 = 0x5fe5ec92
Gad_#10 = 0x5fe5ecbe
Gad_#11 = 0x5fe5ecea
Gad_#12 = 0x5bb73454
Gad_#13 = 0x5bb7369c

but theres a 14th gadget the CUSTOMGADGET with the title heads. (Using Ranger I "see" such gadget).

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@javier
Quote:

in textmode window (as your grab) the titles headers are created as CUSTOMGADGET and seems it is just after window is opened/created.


So it's not part of a window then, but of a border ? And then, increasing size, clone gadgets, add our new one to them, and upload them back may work then.

@Petrol
Quote:

Just a suggestion but wouldn't it be simpler to write a small commodity that simply open Filer or any other similar tools directly to the drive/drawer you want to open by double click?


We mostly want to do it for own pleasure and technical interest, and to have something which we fully understand, and which small as possible and still the same old workbench which many of us still love :)

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Not too shy to talk
Not too shy to talk


See User information
@sinisrus[quote]sinisrus wrote:@kas1e

The Window "dh1:" have buttons navigation

https://blog.hyperion-entertainment.co ... loads/2013/07/screen1.png[/quote

thats "filer" which i also like to use. best.

regards...
michael

Go to top
Re: DrawerGenie for AOS4?
Just popping in
Just popping in


See User information
@MichaelMerkel

I don't think so because there are differences...

Go to top
Re: DrawerGenie for AOS4?
Just popping in
Just popping in


See User information
it is filer

Resized Image

Go to top
Re: DrawerGenie for AOS4?
Just popping in
Just popping in


See User information
@McFly

Oh!!! Ok so I was wrong! I didn't know you could modify the toolbar!!!

Go to top
Re: DrawerGenie for AOS4?
Home away from home
Home away from home


See User information
@All
Can somebody point me out how correctly block the patched openwindowtaglist, so it only does what i need, and then do nothing (and not open workbench window). So far i tried to return NULL instead of original, but then while window not opens, it "blink" the title bar.

I.e. we have simple that:

struct Window APICALL (*Original_OpenWindowTagList)(struct IntuitionIFace *Self, const struct NewWindow newWindow, const struct TagItem tagList);

struct Window APICALL Patched_OpenWindowTagList(struct IntuitionIFace *Self, const struct NewWindow nw, const struct TagItem tagList) {

        return 
NULL;
}


How instead of NULL return something which will _not_ open workbench window visually ? (and to not crash, of course)


Edited by kas1e on 2023/11/24 6:04:14
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: DrawerGenie for AOS4?
Just can't stay away
Just can't stay away


See User information
@kas1e

But if you "pass" anything else than NULL, WB/wb_lib will think it has a drawer window (pointer) and act adding gadgets, stuff.
And the blink, as other user posted, is a warn defined in Sound prefs.

Go to top

  Register To Post
« 1 ... 3 4 5 (6)

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project