« first day (1192 days earlier)      last day (1988 days later) » 

00:00
RELOAD!
[retailcoder/Rubberduck] 8 commits. 309 additions. 70 deletions.
[rubberduck-vba/Rubberduck] 3 commits. 1 opened issue. 1 closed issue. 1 issue comment. 201 additions. 33 deletions.
[Zomis/FactorioMods] 1 opened issue. 1 closed issue. 1 issue comment.
00:53
@Mat'sMug You around? I've got a question for you.
Are you running the latest build of RD? (At least one after the shared toolbar theme fix got merged)
I'm all up-to-date, yes
Ok. Can you please take a look at the Add and Sort menus in the CE. The styles when you hover over menu items should be different between the two menus.
I'm guessing the Add menu highlights in a light blue, the Sort menu highlights in a darker blue/gray?
Is that what you are experiencing?
they both look pretty damn similar to me
or is it just me?
01:06
Yeah, yours look the same to me too. The Sort menu is using an additional style that apparently doesn't do much of anything, if at all. Looks like that can be jettisoned.
I think the "add" icon for Std modules and Cls modules should match their treeview icon
the "add class module" icon looks right, but "add standard module" uses a completely different icon
Ok I'll change that
This toolbar theme xaml, did you get it from somewhere?
pffff I wouldn't recall
but the xaml for every single standard control in both "classic" and "aero" is publicly available
01:12
from MS, I assume?
> There is no way to replace only part of the visual tree of a control; to change the visual tree of a control you must set the Template property of the control to its new and complete ControlTemplate.
Doesn't it just use system's default if it is not templated or overwritten in xaml?
I wonder if being able to filter inspections for results in the current module might be useful - both for relevance and for performance?
@ThunderFrame Unless someone else is already on it, I'll be working on that this week.
@shadowofsilicon nice!!
01:23
@shadowofsilicon WinForms is rendered with User32 API calls. WPF is rendered through DirectX; the actual theme used for rendering depends on a number of factors, including Windows version and available/selected themes
The real question is, how does it know whether to keep the thing hot or cold? — Josh Caswell 11 hours ago
@Hosch250 I don't even have to read that question to know that it will make my brain hurt.
01:52
No nothing at present @PieterGeerkens
@this regarding the APLvsGPL licensing you initiated earlier. I would suggest creating an issue for discussion tag so further research be considered. We did have a go on closed issue #1893 from other resources which was resolved. I am in the process of working out ways to help RD coders the means of validating other cross development licensing concerns which is work in progress.
 
2 hours later…
03:53
> As per chat, it has been suggested to open an issue to investigate whether Rudderduck can use Roslyn. The initial concern was it could not because RD is using GPL license while Roslyn is using Apache Public License (APL).

However, my reading is that APL can be used in GPL'd project (but not the other way!) and therefore there should be no problem using Roslyn.

Supporting links:
http://www.apache.org/licenses/GPL-compatibility.html
http://www.gnu.org/licenses/license-list.html#SoftwareL
@shadowofsilicon It might not be what you think.
0
Q: Exposing .NET's internal StorageRoot via Reflection for accessing file/stream-based Structured Storage

ThunderFrame.NET tantalizingly exposes StorageInfo and StreamInfo as public classes, but hides the seminal StorageRoot as an internal class, leaving the user no way of creating or opening a Structured Storage from a file or stream. Microsoft's Reference Source details the source behind StorageRoot which inh...

^All your base (FRX streams) are belong to us.
04:22
> Roslyn does not support VBA, or any DSL.
https://stackoverflow.com/a/34781729/1188513
 
6 hours later…
10:30
Oh JavaScript:
null > 0; // false
null == 0; // false
null >= 0; // true
 
3 hours later…
13:16
> As @retailcoder notices, while this is feasible from a legal standpoint, it's technically not a viable solution. As such the discussion about using roslyn is... not bringing us any net benefit
 
2 hours later…
15:29
@Hosch250 I did read the question, and it was exactly as stupid as I thought it was.
@Mat'sMug I figured out where you were going with the extraneous theme code (stackoverflow.com/questions/35424279/…) and why there's so much of it: you can't modify a theme, but can only re-create it. WTF WPF?
But I did figure out that you can load the Aero theme as a resource dictionary:
<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="../Controls/ToolBar.xaml"/>
            <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>
        </ResourceDictionary.MergedDictionaries>
and that gives us, with no more modification, a pretty native looking toolbar:
damn it, my computer isn't working with me, I can't capture the menu items, but I do say, they look right.
@shadowofsilicon try greenshot (assuming you mean you're trying to take a screen capture while a menu is open)
Thoughts? And do you want that toolbar overflow control gone like before?
@this That's exactly what I using, but can't click in the system tool tray without the menu closing, and my PrntScrn key isn't working right
oh k
<== no context but FWIW, if overflow control works, I'd leave it alone?
Oh sure, it works in other windows, but not when the VBE is active. Wtf.
also, just recalled - I think greenshot let you redefine keyboard shortcuts, FWIW.
hmm. fascinating.
duh question: does VBE "knows" about the WPF?
15:43
^ change keyboard shortcut in Greenshot, thanks @this
I assume not. If that is the case, are we already forcing the WPF to lose focus when VBE becomes active?
(not sure if this even applies)
I don't follow... we load WPF windows inside the VBE
load how exactly? You tell VBE, "hey, there's new toolbar", or do you just SetParent the WPF?
All I know is that we create the toolbar in XAML
well, my suggestion was on the assumption we are something similar to SetParent in which case the VBE will not know about the toolbar (yes it's there but VBE just doesn't know about it as it knows about native commandbars). In this kind of situation, you are now responsible for managing focus between the two "window"
which would be why you see overflow control not working (because it hasn't "lost" focus)
but this might not even apply
15:49
I don't believe that it is a native commandbar, no.
The overflow control is dimmed b/c there are now overflow items, if I resize the window smaller so the buttons overflow, it becomes active
right - and it does not work exactly how?
As themed before, the overflow control was hidden.
and this is staying open even though the focus is on VBE, right?
You mean if, for example, I click in the code pane?
I don't follow, it's docked in the VBE window
IT's because I'm not understanding what is NOT working
15:59
Nothing is not working. It IS working.
I was under the impression the overflow control wasn't working when VBE is active --- oh then never mind my rambling
sorry
Other than my PrintScreen button on my laptop keyboard when the VBE is the active window
That's the only thing NOT working
ahhh, mybad
Man, text chat sucks lol
so this is using theme -- means if I load this on my classic theme, it'll be gray, not baby blue.... right?
hmm will try that out.
16:03
I'm not sure but I think it will be (mostly) whatever that theme is... If I change my system to High Contrast mode, the toolbar tray and toolbar backgrounds turn black like they should, not gray or baby blue as before
^ the backgrounds turn black like they should, instead if incorrectly remaining gray or baby blue as they would have under the theming code currently in the next branch.
hmm, confused - the latest release is v2.1.0.2204-pre but my RD version shows 2.1.6462.9506
You must be running a local build?
16:18
yes
just want to be sure I did in fact have the latest from the next branch
including that release
Local builds are [Major].[Minor].[DaysSinceJan1Yr2000].[MinutesSinceMidnight] or something like that
I see
Alright so I'm assuming that I do have the latest... I hope.... I do see a difference
when I hover over CE controls they are gray, yes.
but on my VBE, hovering over gives me yellow
if you run a local build you can verify that you have the latest...
well a shade of yellow
just fetch upstream and rebuild if you need to
16:21
... a shade of yellow? Can I haz screenshot plz?
... i love how they ask me to make sure I'm not robot by clicking on 100s of cars because we're not really sure you aren't robot
#imagefail
Oh... the commandbars have a yellow background when highlighted but the CE toolbar buttons don't.
@this galleries are not oneboxed
Which version of Windows are you running?
16:36
Windows 7
w/ classic theme
Is that the same as Aero disabled?
yes
lied a little - I apparently customized it a little but it was based on Windows Classic
darnted if I can even remember how it was customized, tho.
@shadowofsilicon How does it look with a high contrast theme?
fwiw, high contrast might be misleading because I believe on those themes, they strip a lot of subtleties.
like that hover color, for example
^ before
^ current changes
16:48
#eyebleeding
so it looks like you're down to only the white background
Not if you needed it to get work done 'cause your vision is shit
well, and the selected button, too.
Yeah but that's relatively easy, the background and the selected button
well, FWIW, before I had surgery, I could not use VBE because of the limited colors and the fact that object explorer did not change color; I had to resort to changing the whole monitor to get something resembling "dark" theme (and no, I didn't want high contrast -- i think it was too confusing or something, IDR)
so once you get it consistent, i'm sure those who needs it will love having it over the OE which just doesn't coordinate.
(not that we already have 100 more reasons to prefer CE) :p
17:49
@Mat'sMug after you answer @shadowofsilicon's questions, there's something not 100% clear to me regarding the GetSelection. You say it fixes it up so we avoid the one-off errors. Does that imply that if I get a Selection it is already zero-based and I don't need to do any further adjustment?
This is my tentative code for the suggested extensions:
    public static class SelectionExtensions
    {
        public static bool Contains(this Selection selection, IToken token)
        {
            if (((selection.StartLine - 1) <= token.Line)
            && ((selection.EndLine - 1) >= token.Line)
            && ((selection.StartColumn - 1) <= token.StartIndex)
            && ((selection.EndColumn - 1) >= token.StopIndex))
                return true;

            return false;
        }

        public static bool Contains(this ParserRuleContext context, Selection selection)
@this why not write some unit-tests? that way you can make sure it works the way you think it works..
and it's also regression-proof in case the implementation of Selection or Token changes
i think that's a great idea @Vogel612 -- what I am not 100% clear is whether when I write a unit-test and mock the Selection, it should correspond to the actual behavior? Or is that not a concern?
#NeedsToOnePlusUnitTesting
how do you intend to mock a selection there?
consider the following:
hence my uncertainty. :\
var code = @"Option Explicit
Sub test()
    ' test comment
    Dim variable As String
End Sub"

// feed this to the parser to obtain a ParseTree with tokens
var selection = new Selection(0, 0, 1, 0);  // first line
var optionExplicitToken = // obtain the option-explicit tokens from the parser
Assert.AssertTrue(selection.Contains(optionExplicitToken));
probably the "how" question was wrong... the correct question to ask is: "Why do you intend to mock the Selection?"
17:57
and I prolly need another unit test where I use the GetSelection
sure.
to verify they both will yield the same result
now I understand I don't need to mock; just test both scenarios. Great, will do that. Thanks for the nudge, @Vogel612
obtw: if (condition) return true; else return false; can be written as return condition
done.
one more thing to check - is it OK to depend on classes like ParserRuleContext - I see it indirectly implements IRuleNode but that does not have the stuff I need. I'm under the impression that generally we want to use abstractions.
true, but it should be fine, especially since ParserRuleContext is an abstract class coming from ANTLR
18:00
Gotcha
it's highly unlikely that the interface of that class changes
or if it does, we'd have to rewrite all our stuff anyways, insofar depending there is not as bad as tightly coupling components in code we control
Makes sense now. IOW - it's a hard dependency
(my mental term for something where if A changes, B must change)
that's a good term
yes, it's a hard dependency.
 
2 hours later…
19:41
@this I think StartIndex and StopIndex are not what you think they are. These are the index in the input chart stream of the first and last character in the token, i.e. the position relative to the start of the file, not relative to the start of the line.
There should also be CharPositionInLine, which returns the position in the line of the first character of the token.
 
2 hours later…
22:05
@shadowofsilicon the "show signatures" png needs a mask apparently...
@this did you look at how it's implemented?
BTW there are mock VBE builder methods that take an optional Selection parameter; useful for when you need a test that works off a given specific selection against a specific piece of code
...we mock the entire VBE; the selection is just a bit of test data, doesn't need to be mocked ;-)
@Mat'sMug Any other thoughts with the screenshots? Particularly, the overflow control?
I'm fine with it. IIRC @Hosch250 was trying to get the overflow control to not show up at all when it's not needed
He must have gotten it figured out; currently, it's hidden unless needed (active)
I could add it back in. Personally, I could go either way.
Basically all that's missing is a mask png for the "show signatures" button image, and a way to get that white eyesore background follow along with the set theme, and we're good.
... a mask for the Aero theme or for the high contrast theme?
22:13
a mask for the png image
look under resources/custom/
there's a png and a mask folder
the mask is just a monochrome B&W version of the png
it's used to control the transparency
so that it doesn't show up with a gray background when everything else is black
Ok. Gotcha.
Hmm, might need a 1px offset (both x and y) though, otherwise it's going to be black on black
So much for high contrast
Yes, I did fix that.
So we want to keep the overflow control hidden unless needed?
Could also make the toolbar the full width of the toolbar tray...
@shadowofsilicon that would be nice
I honestly don't care for the overflow thing
supper time, bbl
22:38
took me few tries but I got my first unit test running without errors. Now to get it actually give correct results.... :) Ended up using a visitor to support the unit test, too. (or at least I'm not sure how to pluck a token out of the tress without a visitor for the unit test).
22:52
[rubberduck-vba/Rubberduck] build for commit e1fdc398 on unknown branch: AppVeyor build succeeded

« first day (1192 days earlier)      last day (1988 days later) »