2019-08-17 00:43:51 +02:00
|
|
|
// Copyright (c) Microsoft Corporation.
|
|
|
|
// Licensed under the MIT license.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
// HEY YOU: When adding ActionArgs types, make sure to add the corresponding
|
|
|
|
// *.g.cpp to ActionArgs.cpp!
|
|
|
|
#include "ActionEventArgs.g.h"
|
|
|
|
#include "CopyTextArgs.g.h"
|
|
|
|
#include "NewTabWithProfileArgs.g.h"
|
|
|
|
#include "SwitchToTabArgs.g.h"
|
|
|
|
#include "ResizePaneArgs.g.h"
|
|
|
|
#include "MoveFocusArgs.g.h"
|
2019-09-30 15:18:05 +02:00
|
|
|
#include "AdjustFontSizeArgs.g.h"
|
2019-08-17 00:43:51 +02:00
|
|
|
|
|
|
|
#include "../../cascadia/inc/cppwinrt_utils.h"
|
|
|
|
|
|
|
|
// Notes on defining ActionArgs and ActionEventArgs:
|
|
|
|
// * All properties specific to an action should be defined as an ActionArgs
|
|
|
|
// class that implements IActionArgs
|
|
|
|
// * ActionEventArgs holds a single IActionArgs. For events that don't need
|
|
|
|
// additional args, this can be nullptr.
|
|
|
|
|
|
|
|
namespace winrt::TerminalApp::implementation
|
|
|
|
{
|
|
|
|
struct ActionEventArgs : public ActionEventArgsT<ActionEventArgs>
|
|
|
|
{
|
|
|
|
ActionEventArgs() = default;
|
|
|
|
ActionEventArgs(const TerminalApp::IActionArgs& args) :
|
|
|
|
_ActionArgs{ args } {};
|
|
|
|
GETSET_PROPERTY(IActionArgs, ActionArgs, nullptr);
|
|
|
|
GETSET_PROPERTY(bool, Handled, false);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct CopyTextArgs : public CopyTextArgsT<CopyTextArgs>
|
|
|
|
{
|
|
|
|
CopyTextArgs() = default;
|
|
|
|
GETSET_PROPERTY(bool, TrimWhitespace, false);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct NewTabWithProfileArgs : public NewTabWithProfileArgsT<NewTabWithProfileArgs>
|
|
|
|
{
|
|
|
|
NewTabWithProfileArgs() = default;
|
|
|
|
GETSET_PROPERTY(int32_t, ProfileIndex, 0);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct SwitchToTabArgs : public SwitchToTabArgsT<SwitchToTabArgs>
|
|
|
|
{
|
|
|
|
SwitchToTabArgs() = default;
|
|
|
|
GETSET_PROPERTY(int32_t, TabIndex, 0);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ResizePaneArgs : public ResizePaneArgsT<ResizePaneArgs>
|
|
|
|
{
|
|
|
|
ResizePaneArgs() = default;
|
|
|
|
GETSET_PROPERTY(TerminalApp::Direction, Direction, TerminalApp::Direction::Left);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct MoveFocusArgs : public MoveFocusArgsT<MoveFocusArgs>
|
|
|
|
{
|
|
|
|
MoveFocusArgs() = default;
|
|
|
|
GETSET_PROPERTY(TerminalApp::Direction, Direction, TerminalApp::Direction::Left);
|
|
|
|
};
|
|
|
|
|
2019-09-30 15:18:05 +02:00
|
|
|
struct AdjustFontSizeArgs : public AdjustFontSizeArgsT<AdjustFontSizeArgs>
|
|
|
|
{
|
|
|
|
AdjustFontSizeArgs() = default;
|
|
|
|
GETSET_PROPERTY(int32_t, Delta, 0);
|
|
|
|
};
|
2019-08-17 00:43:51 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
namespace winrt::TerminalApp::factory_implementation
|
|
|
|
{
|
|
|
|
BASIC_FACTORY(ActionEventArgs);
|
|
|
|
}
|