// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Windows;
using System.Windows.Data;
using System.Windows.Media;
using System.Windows.Shapes;
namespace Tango.Scripting.Editors.Editing
{
/// <summary>
/// Margin for use with the text area.
/// A vertical dotted line to separate the line numbers from the text view.
/// </summary>
public static class DottedLineMargin
{
static readonly object tag = new object();
/// <summary>
/// Creates a vertical dotted line to separate the line numbers from the text view.
/// </summary>
public static UIElement Create()
{
Line line = new Line {
//X1 = 0, Y1 = 0, X2 = 0, Y2 = 1,
//StrokeDashArray = { 0, 2 },
//Stretch = Stretch.Fill,
//StrokeThickness = 1,
//StrokeDashCap = PenLineCap.Round,
//Margin = new Thickness(2, 0, 2, 0),
//Tag = tag
};
return line;
}
/// <summary>
/// Creates a vertical dotted line to separate the line numbers from the text view.
/// </summary>
[Obsolete("This method got published accidentally; and will be removed again in a future version. Use the parameterless overload instead.")]
public static UIElement Create(TextEditor editor)
{
Line line = (Line)Create();
line.SetBinding(
Line.StrokeProperty,
new Binding("LineNumbersForeground") { Source = editor }
);
return line;
}
/// <summary>
/// Gets whether the specified UIElement is the result of a DottedLineMargin.Create call.
/// </summary>
public static bool IsDottedLineMargin(UIElement element)
{
Line l = element as Line;
return l != null && l.Tag == tag;
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: DispenserHomingResponse.proto
#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "DispenserHomingResponse.pb.h"
#include <algorithm>
#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
namespace Tango {
namespace PMR {
namespace Diagnostics {
class DispenserHomingResponseDefaultTypeInternal {
public:
::google::protobuf::internal::ExplicitlyConstructed<DispenserHomingResponse>
_instance;
} _DispenserHomingResponse_default_instance_;
namespace protobuf_DispenserHomingResponse_2eproto {
namespace {
::google::protobuf::Metadata file_level_metadata[1];
} // namespace
PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
{0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
};
PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
::google::protobuf::internal::AuxillaryParseTableField(),
};
PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
{ NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
};
const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
~0u, // no _has_bits_
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DispenserHomingResponse, _internal_metadata_),
~0u, // no _extensions_
~0u, // no _oneof_case_
~0u, // no _weak_field_map_
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DispenserHomingResponse, progress_),
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DispenserHomingResponse, maxprogress_),
};
static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
{ 0, -1, sizeof(DispenserHomingResponse)},
};
static ::google::protobuf::Message const * const file_default_instances[] = {
reinterpret_cast<const ::google::protobuf::Message*>(&_DispenserHomingResponse_default_instance_),
};
namespace {
void protobuf_AssignDescriptors() {
AddDescriptors();
::google::protobuf::MessageFactory* factory = NULL;
AssignDescriptors(
"DispenserHomingResponse.proto", schemas, file_default_instances, TableStruct::offsets, factory,
file_level_metadata, NULL, NULL);
}
void protobuf_AssignDescriptorsOnce() {
static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
}
void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
protobuf_AssignDescriptorsOnce();
::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
}
} // namespace
void TableStruct::InitDefaultsImpl() {
GOOGLE_PROTOBUF_VERIFY_VERSION;
::google::protobuf::internal::InitProtobufDefaults();
_DispenserHomingResponse_default_instance_._instance.DefaultConstruct();
::google::protobuf::internal::OnShutdownDestroyMessage(
&_DispenserHomingResponse_default_instance_);}
void InitDefaults() {
static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
}
namespace {
void AddDescriptorsImpl() {
InitDefaults();
static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
"\n\035DispenserHomingResponse.proto\022\025Tango.P"
"MR.Diagnostics\"@\n\027DispenserHomingRespons"
"e\022\020\n\010Progress\030\001 \001(\001\022\023\n\013MaxProgress\030\002 \001(\001"
"B!\n\037com.twine.tango.pmr.diagnosticsb\006pro"
"to3"
};
::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
descriptor, 163);
::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
"DispenserHomingResponse.proto", &protobuf_RegisterTypes);
}
} // anonymous namespace
void AddDescriptors() {
static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
}
// Force AddDescriptors() to be called at dynamic initialization time.
struct StaticDescriptorInitializer {
StaticDescriptorInitializer() {
AddDescriptors();
}
} static_descriptor_initializer;
} // namespace protobuf_DispenserHomingResponse_2eproto
// ===================================================================
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int DispenserHomingResponse::kProgressFieldNumber;
const int DispenserHomingResponse::kMaxProgressFieldNumber;
#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
DispenserHomingResponse::DispenserHomingResponse()
: ::google::protobuf::Message(), _internal_metadata_(NULL) {
if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
protobuf_DispenserHomingResponse_2eproto::InitDefaults();
}
SharedCtor();
// @@protoc_insertion_point(constructor:Tango.PMR.Diagnostics.DispenserHomingResponse)
}
DispenserHomingResponse::DispenserHomingResponse(const DispenserHomingResponse& from)
: ::google::protobuf::Message(),
_internal_metadata_(NULL),
_cached_size_(0) {
_internal_metadata_.MergeFrom(from._internal_metadata_);
::memcpy(&progress_, &from.progress_,
static_cast<size_t>(reinterpret_cast<char*>(&maxprogress_) -
reinterpret_cast<char*>(&progress_)) + sizeof(maxprogress_));
// @@protoc_insertion_point(copy_constructor:Tango.PMR.Diagnostics.DispenserHomingResponse)
}
void DispenserHomingResponse::SharedCtor() {
::memset(&progress_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&maxprogress_) -
reinterpret_cast<char*>(&progress_)) + sizeof(maxprogress_));
_cached_size_ = 0;
}
DispenserHomingResponse::~DispenserHomingResponse() {
// @@protoc_insertion_point(destructor:Tango.PMR.Diagnostics.DispenserHomingResponse)
SharedDtor();
}
void DispenserHomingResponse::SharedDtor() {
}
void DispenserHomingResponse::SetCachedSize(int size) const {
GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
_cached_size_ = size;
GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* DispenserHomingResponse::descriptor() {
protobuf_DispenserHomingResponse_2eproto::protobuf_AssignDescriptorsOnce();
return protobuf_DispenserHomingResponse_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}
const DispenserHomingResponse& DispenserHomingResponse::default_instance() {
protobuf_DispenserHomingResponse_2eproto::InitDefaults();
return *internal_default_instance();
}
DispenserHomingResponse* DispenserHomingResponse::New(::google::protobuf::Arena* arena) const {
DispenserHomingResponse* n = new DispenserHomingResponse;
if (arena != NULL) {
arena->Own(n);
}
return n;
}
void DispenserHomingResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
::google::protobuf::uint32 cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
::memset(&progress_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&maxprogress_) -
reinterpret_cast<char*>(&progress_)) + sizeof(maxprogress_));
_internal_metadata_.Clear();
}
bool DispenserHomingResponse::MergePartialFromCodedStream(
::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
::google::protobuf::uint32 tag;
// @@protoc_insertion_point(parse_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
for (;;) {
::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
tag = p.first;
if (!p.second) goto handle_unusual;
switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
// double Progress = 1;
case 1: {
if (static_cast< ::google::protobuf::uint8>(tag) ==
static_cast< ::google::protobuf::uint8>(9u /* 9 & 0xFF */)) {
DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
input, &progress_)));
} else {
goto handle_unusual;
}
break;
}
// double MaxProgress = 2;
case 2: {
if (static_cast< ::google::protobuf::uint8>(tag) ==
static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
input, &maxprogress_)));
} else {
goto handle_unusual;
}
break;
}
default: {
handle_unusual:
if (tag == 0) {
goto success;
}
DO_(::google::protobuf::internal::WireFormat::SkipField(
input, tag, _internal_metadata_.mutable_unknown_fields()));
break;
}
}
}
success:
// @@protoc_insertion_point(parse_success:Tango.PMR.Diagnostics.DispenserHomingResponse)
return true;
failure:
// @@protoc_insertion_point(parse_failure:Tango.PMR.Diagnostics.DispenserHomingResponse)
return false;
#undef DO_
}
void DispenserHomingResponse::SerializeWithCachedSizes(
::google::protobuf::io::CodedOutputStream* output) const {
// @@protoc_insertion_point(serialize_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
::google::protobuf::uint32 cached_has_bits = 0;
(void) cached_has_bits;
// double Progress = 1;
if (this->progress() != 0) {
::google::protobuf::internal::WireFormatLite::WriteDouble(1, this->progress(), output);
}
// double MaxProgress = 2;
if (this->maxprogress() != 0) {
::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->maxprogress(), output);
}
if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
::google::protobuf::internal::WireFormat::SerializeUnknownFields(
(::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
}
// @@protoc_insertion_point(serialize_end:Tango.PMR.Diagnostics.DispenserHomingResponse)
}
::google::protobuf::uint8* DispenserHomingResponse::InternalSerializeWithCachedSizesToArray(
bool deterministic, ::google::protobuf::uint8* target) const {
(void)deterministic; // Unused
// @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
::google::protobuf::uint32 cached_has_bits = 0;
(void) cached_has_bits;
// double Progress = 1;
if (this->progress() != 0) {
target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(1, this->progress(), target);
}
// double MaxProgress = 2;
if (this->maxprogress() != 0) {
target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->maxprogress(), target);
}
if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
(::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
}
// @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Diagnostics.DispenserHomingResponse)
return target;
}
size_t DispenserHomingResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
size_t total_size = 0;
if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
total_size +=
::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
(::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
}
// double Progress = 1;
if (this->progress() != 0) {
total_size += 1 + 8;
}
// double MaxProgress = 2;
if (this->maxprogress() != 0) {
total_size += 1 + 8;
}
int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
_cached_size_ = cached_size;
GOOGLE_SAFE_CONCURRENT_WRITES_END();
return total_size;
}
void DispenserHomingResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
GOOGLE_DCHECK_NE(&from, this);
const DispenserHomingResponse* source =
::google::protobuf::internal::DynamicCastToGenerated<const DispenserHomingResponse>(
&from);
if (source == NULL) {
// @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Diagnostics.DispenserHomingResponse)
::google::protobuf::internal::ReflectionOps::Merge(from, this);
} else {
// @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Diagnostics.DispenserHomingResponse)
MergeFrom(*source);
}
}
void DispenserHomingResponse::MergeFrom(const DispenserHomingResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
GOOGLE_DCHECK_NE(&from, this);
_internal_metadata_.MergeFrom(from._internal_metadata_);
::google::protobuf::uint32 cached_has_bits = 0;
(void) cached_has_bits;
if (from.progress() != 0) {
set_progress(from.progress());
}
if (from.maxprogress() != 0) {
set_maxprogress(from.maxprogress());
}
}
void DispenserHomingResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
if (&from == this) return;
Clear();
MergeFrom(from);
}
void DispenserHomingResponse::CopyFrom(const DispenserHomingResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Diagnostics.DispenserHomingResponse)
if (&from == this) return;
Clear();
MergeFrom(from);
}
bool DispenserHomingResponse::IsInitialized() const {
return true;
}
void DispenserHomingResponse::Swap(DispenserHomingResponse* other) {
if (other == this) return;
InternalSwap(other);
}
void DispenserHomingResponse::InternalSwap(DispenserHomingResponse* other) {
using std::swap;
swap(progress_, other->progress_);
swap(maxprogress_, other->maxprogress_);
_internal_metadata_.Swap(&other->_internal_metadata_);
swap(_cached_size_, other->_cached_size_);
}
::google::protobuf::Metadata DispenserHomingResponse::GetMetadata() const {
protobuf_DispenserHomingResponse_2eproto::protobuf_AssignDescriptorsOnce();
return protobuf_DispenserHomingResponse_2eproto::file_level_metadata[kIndexInFileMessages];
}
#if PROTOBUF_INLINE_NOT_IN_HEADERS
// DispenserHomingResponse
// double Progress = 1;
void DispenserHomingResponse::clear_progress() {
progress_ = 0;
}
double DispenserHomingResponse::progress() const {
// @@protoc_insertion_point(field_get:Tango.PMR.Diagnostics.DispenserHomingResponse.Progress)
return progress_;
}
void DispenserHomingResponse::set_progress(double value) {
progress_ = value;
// @@protoc_insertion_point(field_set:Tango.PMR.Diagnostics.DispenserHomingResponse.Progress)
}
// double MaxProgress = 2;
void DispenserHomingResponse::clear_maxprogress() {
maxprogress_ = 0;
}
double DispenserHomingResponse::maxprogress() const {
// @@protoc_insertion_point(field_get:Tango.PMR.Diagnostics.DispenserHomingResponse.MaxProgress)
return maxprogress_;
}
void DispenserHomingResponse::set_maxprogress(double value) {
maxprogress_ = value;
// @@protoc_insertion_point(field_set:Tango.PMR.Diagnostics.DispenserHomingResponse.MaxProgress)
}
#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
// @@protoc_insertion_point(namespace_scope)
} // namespace Diagnostics
} // namespace PMR
} // namespace Tango
// @@protoc_insertion_point(global_scope)