@Raul - answer me this first: is a (collection of) "user-defined menus"

(a) an app in its own right? or-

(b) an extension of the J app?

On Tue, Sep 15, 2015 at 1:46 PM, Raul Miller <[email protected]> wrote:
> I'm still not seeing how what you indicate as "the OSX design" makes
> sense for any interpreted programming environment which allows user
> defined menus.
>
> --
> Raul
>
> On Mon, Sep 14, 2015 at 8:02 PM, Ian Clark <[email protected]> wrote:
>> No, @Raul, I was answering Bill's question re OS X features.
>>
>> The "proper" design for OS X isn't fit for Windows -- and vice-versa.
>> You don't need to be a conspiracy theorist to know this is (-was)
>> intentional on the part of M$. Remember the "look and feel" lawsuit?
>>
>> On Mon, Sep 14, 2015 at 3:55 AM, Raul Miller <[email protected]> wrote:
>>> I'm not quite following your argument, Ian.
>>>
>>> It seems to me that if all windows owned by the JQt app must all have
>>> the same menu that this forbids user-defined menus.
>>>
>>> Is that really what you are saying J should be doing?
>>>
>>> Thanks,
>>>
>>> --
>>> Raul
>>>
>>>
>>> On Sun, Sep 13, 2015 at 9:28 PM, Ian Clark <[email protected]> wrote:
>>>> @Bill
>>>>
>>>>> Is this behavior (sharing menu) a feature of osx in general?
>>>>
>>>> Yes, definitely.
>>>>
>>>> In OS X the menubar belongs to the app. Not to the window, as in
>>>> MSWin. At least it did when I was programming the Mac in C in the 80s
>>>> / 90s.
>>>>
>>>> Most commercial apps for the Mac, e.g. Firefox, TextEdit, Microsoft
>>>> Word, let you create a new window with ⌘N. E.g to edit a second
>>>> document. All such windows share the same menubar but window-specific
>>>> menu items (⌘C, ⌘V …) work only on the topmost (=active) window.
>>>> There's generally a "Window" menu, listing all open windows – the
>>>> active window is shown checked: (√). Of course there are apps which
>>>> only ever show one window. What the menubar applies-to is never in
>>>> doubt.
>>>>
>>>> J602 doesn't obey the rules. Thus: if you launch the Plot package, it
>>>> makes a separate window, but when you click on that window – the
>>>> menubar vanishes, leaving only the Apple-supplied menus ("Apple" and
>>>> "J"). I guess Plot is pretending to be an independent app?
>>>>
>>>> By contrast, JQt does obey the rules - up to a point. All windows
>>>> owned by JQt, even user-created ones, share the same menubar. However
>>>> the Edit and Term windows chop-and-change menus between them (a big
>>>> no-no - you should gray them out, not make them vanish.) That totally
>>>> bamboozled me, until I worked out what it was playing at. I was
>>>> discovering menu items one day and not finding them the next.
>>>>
>>>> The basic model is that when an app (e.g. DreamWeaver) lets you work
>>>> on either a picture or text, say, these aren't 2 different sorts of
>>>> window. They're one-and-the-same sort of window, adapted to picture or
>>>> text, inapplicable menu items like "Rotate" or "Spelling" being
>>>> grayed-out. The menubar is owned by the app, as I said, and is
>>>> therefore common to all windows. Apart from J, all Mac apps I've seen
>>>> follow this basic model.
>>>>
>>>> Qt, being cross-platform, is a law unto itself, it seems.
>>>>
>>>> On Mon, Sep 14, 2015 at 12:51 AM, bill lam <[email protected]> wrote:
>>>>> Is this behavior (sharing menu) a feature of osx in general?
>>>>> On Sep 14, 2015 5:17 AM, "Ian Clark" <[email protected]> wrote:
>>>>>
>>>>>> @Chris
>>>>>>
>>>>>> > Does your repaint include some computation that could have been done up
>>>>>> front?
>>>>>>
>>>>>> It's TABULA. Judged superficially, yes. The toolbar is painted
>>>>>> laboriously pixel by pixel, also it's animated. A speedup would be to
>>>>>> take a snapshot of the isidraw and use that instead. But it is
>>>>>> (planned to be) reconfigurable by the user, so I don't want to get
>>>>>> into speedups just yet. Particularly as I'm now badly equipped for
>>>>>> cross-platform testing.
>>>>>>
>>>>>> > How did you do that?
>>>>>>
>>>>>> Currently a t-table carries free-form info that's displayed in the
>>>>>> "Info" tab. It's good in practice to have that optionally in a
>>>>>> separate window, so it can be left visible while interacting with the
>>>>>> main form, and I've done just that.
>>>>>>
>>>>>> But when the "Info" window has the focus, instead of the menubar
>>>>>> disappearing and being replaced by something vestigial, I can still
>>>>>> see the main form's menus. And they all work.
>>>>>>
>>>>>> TABULA also optionally creates a "plot" window – and the same remarks
>>>>>> apply. Bill thinks it's a bug not a feature. But jwplot wouldn't be so
>>>>>> useful within an app if it hid the app's menus.
>>>>>>
>>>>>> > I suppose we should allow redefining the menubar on the fly.
>>>>>>
>>>>>> I guess most J coders won't need the facility to reconfigure a menu
>>>>>> after every user interaction. Only people like me, trying to write
>>>>>> professional-looking cross-platform software. Perhaps I simply
>>>>>> shouldn't be using Jwd, but working directly with Qt widgets? I can't
>>>>>> be far short of my 100th GUI.
>>>>>>
>>>>>>   wd 'set menuitem text "New Caption" ' -would be nice. But destroying
>>>>>> and rewriting the whole menubar ought to be fast enough. It is
>>>>>> intuitive (using rplc) and totally flexible.
>>>>>>
>>>>>> Ian
>>>>>>
>>>>>> On Sun, Sep 13, 2015 at 3:25 PM, chris burke <[email protected]> 
>>>>>> wrote:
>>>>>> >> My form takes a noticeable time to repaint. I don't want to do that.
>>>>>> >
>>>>>> > I am a little surprised by this. Does your repaint include some
>>>>>> computation
>>>>>> > that could have been done up front?
>>>>>> >
>>>>>> >> But I see with JQt it's possible to define two separate forms for the
>>>>>> same
>>>>>> > app. If one of them specifies no menus, it lets you see the menus of 
>>>>>> > the
>>>>>> > other form – even when it's got focus!
>>>>>> >
>>>>>> > How did you do that?
>>>>>> >
>>>>>> > I suppose we should allow redefining the menubar on the fly.
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > On 13 September 2015 at 05:32, Ian Clark <[email protected]> wrote:
>>>>>> >
>>>>>> >> My form takes a noticeable time to repaint. I don't want to do that.
>>>>>> >>
>>>>>> >> But I see with JQt it's possible to define two separate forms for the
>>>>>> >> same app. If one of them specifies no menus, it lets you see the menus
>>>>>> >> of the other form – even when it's got focus! At least, it does on the
>>>>>> >> Mac (…under Snow Leopard).
>>>>>> >>
>>>>>> >> I conjecture it's possible to split my form into a menu-less and a
>>>>>> >> menus-only form. The latter will be a lot less pain to recreate – and
>>>>>> >> easily reconfigured like this:
>>>>>> >>
>>>>>> >>    wd MYMENUSONLY rplc 'Repeat Last Action' ; 'Repeat "Delete Line"'
>>>>>> >>
>>>>>> >> The same trick will let me offer an up-to-the-minute MRU list attached
>>>>>> >> to the File menu.
>>>>>> >>
>>>>>> >> Maybe there are gotchers. Maybe it won't work on all platforms. But
>>>>>> >> it's worth me doing some experiments. Anyone care to try it with
>>>>>> >> MSWin? (I can see a sticky "fellow traveller" being needed for the
>>>>>> >> main window, consisting only of a menubar.)
>>>>>> >>
>>>>>> >> On Sat, Sep 12, 2015 at 2:49 AM, chris burke <[email protected]>
>>>>>> wrote:
>>>>>> >> > You can create a new form to replace the old, positioning exactly 
>>>>>> >> > over
>>>>>> >> the
>>>>>> >> > old. This should happen fast enough to be unnoticeable.
>>>>>> >> >
>>>>>> >> > I cannot think of examples in J8, but this was done in J6, for 
>>>>>> >> > example
>>>>>> >> with
>>>>>> >> > the Find and Replace dialogs.
>>>>>> >> >
>>>>>> >> > On 11 September 2015 at 15:56, bill lam <[email protected]> wrote:
>>>>>> >> >
>>>>>> >> >> I think these functions are not implemented.
>>>>>> >> >> On Sep 12, 2015 4:50 AM, "Ian Clark" <[email protected]> wrote:
>>>>>> >> >>
>>>>>> >> >> > With jwd in JQt, how do I change the text of a given item in an
>>>>>> >> >> > existing set of menus?
>>>>>> >> >> >
>>>>>> >> >> > E.g. to state precisely what action I'm offering to Undo / 
>>>>>> >> >> > Repeat /
>>>>>> >> etc?
>>>>>> >> >> >
>>>>>> >> >> > An allied problem is to add items to an existing menu, e.g. to
>>>>>> provide
>>>>>> >> >> > a MRU facility.
>>>>>> >> >> >
>>>>>> ----------------------------------------------------------------------
>>>>>> >> >> > For information about J forums see
>>>>>> >> http://www.jsoftware.com/forums.htm
>>>>>> >> >> >
>>>>>> >> >>
>>>>>> ----------------------------------------------------------------------
>>>>>> >> >> For information about J forums see
>>>>>> http://www.jsoftware.com/forums.htm
>>>>>> >> >>
>>>>>> >> > ----------------------------------------------------------------------
>>>>>> >> > For information about J forums see
>>>>>> http://www.jsoftware.com/forums.htm
>>>>>> >> ----------------------------------------------------------------------
>>>>>> >> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>>> >>
>>>>>> > ----------------------------------------------------------------------
>>>>>> > For information about J forums see http://www.jsoftware.com/forums.htm
>>>>>> ----------------------------------------------------------------------
>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>> ----------------------------------------------------------------------
>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to