mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-14 06:14:10 +02:00
Minor IDE modifications
This commit is contained in:
parent
f8d4d0ded0
commit
908dbe1a6e
8 changed files with 97 additions and 31 deletions
|
@ -1,4 +1,6 @@
|
|||
using System; //abc
|
||||
using System;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
|
@ -10,7 +12,6 @@ using Beefy.widgets;
|
|||
using Beefy.gfx;
|
||||
using Beefy.theme;
|
||||
using Beefy.theme.dark;
|
||||
using IDE.ui;
|
||||
using Beefy.sys;
|
||||
using Beefy.events;
|
||||
using Beefy.geom;
|
||||
|
@ -20,8 +21,7 @@ using Beefy.utils;
|
|||
using IDE.Debugger;
|
||||
using IDE.Compiler;
|
||||
using IDE.Util;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using IDE.ui;
|
||||
using IDE.util;
|
||||
|
||||
[AttributeUsage(.Method, .ReflectAttribute | .AlwaysIncludeTarget, ReflectUser=.All)]
|
||||
|
@ -3363,12 +3363,10 @@ namespace IDE
|
|||
[IDECommand]
|
||||
public void Cmd_ShowAutoComplete()
|
||||
{
|
||||
var activeTextPanel = GetActivePanel() as TextPanel;
|
||||
if (activeTextPanel != null)
|
||||
var sewc = GetActiveSourceEditWidgetContent();
|
||||
if (sewc != null)
|
||||
{
|
||||
var sewc = activeTextPanel.EditWidget.mEditWidgetContent as SourceEditWidgetContent;
|
||||
if (sewc != null)
|
||||
sewc.ShowAutoComplete(true);
|
||||
sewc.ShowAutoComplete(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4885,7 +4883,7 @@ namespace IDE
|
|||
IDETabbedView CreateTabbedView()
|
||||
{
|
||||
var tabbedView = new IDETabbedView();
|
||||
tabbedView.mSharedData.mOpenNewWindowDelegate.Add(new (fromTabbedView, newWindow) => SetupNewWindow(newWindow));
|
||||
tabbedView.mSharedData.mOpenNewWindowDelegate.Add(new (fromTabbedView, newWindow) => SetupNewWindow(newWindow, true));
|
||||
tabbedView.mSharedData.mTabbedViewClosed.Add(new (tabbedView) =>
|
||||
{
|
||||
if (tabbedView == mActiveDocumentsTabbedView)
|
||||
|
@ -4894,10 +4892,11 @@ namespace IDE
|
|||
return tabbedView;
|
||||
}
|
||||
|
||||
void SetupNewWindow(WidgetWindow window)
|
||||
public void SetupNewWindow(WidgetWindow window, bool isMainWindow)
|
||||
{
|
||||
window.mOnWindowKeyDown.Add(new => SysKeyDown);
|
||||
window.mOnWindowCloseQuery.Add(new => SecondaryAllowClose);
|
||||
if (isMainWindow)
|
||||
window.mOnWindowCloseQuery.Add(new => SecondaryAllowClose);
|
||||
}
|
||||
|
||||
DarkTabbedView FindDocumentTabbedView()
|
||||
|
@ -5045,6 +5044,28 @@ namespace IDE
|
|||
return null;
|
||||
}
|
||||
|
||||
public SourceEditWidgetContent GetActiveSourceEditWidgetContent()
|
||||
{
|
||||
let activeWindow = GetActiveWindow();
|
||||
if (activeWindow.mFocusWidget != null)
|
||||
{
|
||||
if (let editWidget = activeWindow.mFocusWidget as EditWidget)
|
||||
{
|
||||
let sewc = editWidget.mEditWidgetContent as SourceEditWidgetContent;
|
||||
if (sewc != null)
|
||||
return sewc;
|
||||
}
|
||||
}
|
||||
|
||||
var activeTextPanel = GetActivePanel() as TextPanel;
|
||||
if (activeTextPanel != null)
|
||||
{
|
||||
return activeTextPanel.EditWidget.mEditWidgetContent as SourceEditWidgetContent;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public WidgetWindow GetActiveWindow()
|
||||
{
|
||||
for (let window in mWindows)
|
||||
|
@ -6345,7 +6366,7 @@ namespace IDE
|
|||
}
|
||||
else
|
||||
mWorkspace.mDir = fullDir;
|
||||
case "-path":
|
||||
case "-file":
|
||||
String.NewOrSet!(mDeferredOpenFileName, value);
|
||||
if (mDeferredOpenFileName.EndsWith(".bfdbg", .OrdinalIgnoreCase))
|
||||
mDeferredOpen = .DebugSession;
|
||||
|
@ -6584,11 +6605,26 @@ namespace IDE
|
|||
|
||||
void SysKeyDown(KeyDownEvent evt)
|
||||
{
|
||||
if (evt.mHandled)
|
||||
return;
|
||||
|
||||
var window = (WidgetWindow)evt.mSender;
|
||||
|
||||
IDECommand.ContextFlags useFlags = .None;
|
||||
var activeWindow = GetActiveWindow();
|
||||
bool isMainWindow = activeWindow.mRootWidget is MainFrame;
|
||||
|
||||
var activePanel = GetActivePanel() as Panel;
|
||||
if (activePanel is SourceViewPanel)
|
||||
useFlags |= .Editor;
|
||||
else if (activePanel is DisassemblyPanel)
|
||||
useFlags |= .Editor;
|
||||
|
||||
if (isMainWindow)
|
||||
useFlags |= .MainWindow;
|
||||
|
||||
if (evt.mKeyCode == .Tab)
|
||||
{
|
||||
var activePanel = GetActivePanel() as Panel;
|
||||
if (activePanel != null)
|
||||
{
|
||||
if (activePanel.HandleTab(window.IsKeyDown(.Shift) ? -1 : 1))
|
||||
|
@ -6620,20 +6656,19 @@ namespace IDE
|
|||
}
|
||||
else if (var command = commandBase as IDECommand)
|
||||
{
|
||||
IDECommand.ContextFlags useFlags = .None;
|
||||
var activePanel = GetActivePanel();
|
||||
if (activePanel is SourceViewPanel)
|
||||
useFlags |= .Editor;
|
||||
else if (activePanel is DisassemblyPanel)
|
||||
useFlags |= .Editor;
|
||||
|
||||
bool foundMatch = false;
|
||||
if (useFlags != .None)
|
||||
{
|
||||
var checkCommand = command;
|
||||
while (checkCommand != null)
|
||||
{
|
||||
if (checkCommand.mContextFlags.HasFlag(useFlags))
|
||||
bool matches = checkCommand.mContextFlags == .None;
|
||||
if (checkCommand.mContextFlags.HasFlag(.Editor))
|
||||
matches |= useFlags.HasFlag(.Editor);
|
||||
if (checkCommand.mContextFlags.HasFlag(.MainWindow))
|
||||
matches |= useFlags.HasFlag(.MainWindow);
|
||||
|
||||
if (matches)
|
||||
{
|
||||
checkCommand.mAction();
|
||||
foundMatch = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue