pluginobject.cpp
来自「ncbi源码」· C++ 代码 · 共 237 行
CPP
237 行
/* * =========================================================================== * PRODUCTION $Log: PluginObject.cpp,v $ * PRODUCTION Revision 1000.2 2004/06/01 20:53:48 gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.3 * PRODUCTION * =========================================================================== *//* $Id: PluginObject.cpp,v 1000.2 2004/06/01 20:53:48 gouriano Exp $ * =========================================================================== * * PUBLIC DOMAIN NOTICE * National Center for Biotechnology Information * * This software/database is a "United States Government Work" under the * terms of the United States Copyright Act. It was written as part of * the author's official duties as a United States Government employee and * thus cannot be copyrighted. This software/database is freely available * to the public for use. The National Library of Medicine and the U.S. * Government have not placed any restriction on its use or reproduction. * * Although all reasonable efforts have been taken to ensure the accuracy * and reliability of the software and data, the NLM and the U.S. * Government do not and cannot warrant the performance or results that * may be obtained by using this software or data. The NLM and the U.S. * Government disclaim all warranties, express or implied, including * warranties of performance, merchantability or fitness for any particular * purpose. * * Please cite the author in any work or product based on this material. * * =========================================================================== * * Author: ....... * * File Description: * ....... * * Remark: * This code was originally generated by application DATATOOL * using specifications from the data definition file * 'plugin.asn'. */// standard includes// generated includes#include <ncbi_pch.hpp>#include <gui/plugin/PluginObject.hpp>// generated classesBEGIN_NCBI_SCOPEBEGIN_objects_SCOPE // namespace ncbi::objects::// destructorCPluginObject::~CPluginObject(void){}////void CPluginObject::SetDocument(const IDocument* doc){ m_Document.Reset(doc); m_Object.Reset (doc); SetDocaddr(NStr::PtrToString(m_Document.GetPointer())); SetObjaddr(NStr::PtrToString(m_Object.GetPointer())); SetSubtype("Document");}void CPluginObject::SetObject(const IDocument* doc, const CObject* obj){ m_Document.Reset(doc); m_Object.Reset (obj); SetDocaddr(NStr::PtrToString(m_Document.GetPointer())); SetObjaddr(NStr::PtrToString(m_Object.GetPointer())); // subtype determination SetSubtype("Object"); {{ const IDocument* ptr = dynamic_cast<const IDocument*>(m_Object.GetPointer()); if (ptr) { SetSubtype("Document"); } }} {{ const CSerialObject* ptr = dynamic_cast<const CSerialObject*>(m_Object.GetPointer()); if (ptr) { SetSubtype(ptr->GetThisTypeInfo()->GetName()); } }}}void CPluginObject::SetObject(const CTypeInfo* info){ if (info) { SetObject(info->GetName()); } else { SetObject("Object"); }}void CPluginObject::SetObject(const string& type){ m_Document.Reset(); m_Object.Reset(); SetDocaddr(NStr::PtrToString(NULL)); SetObjaddr(NStr::PtrToString(NULL)); SetSubtype(type);}//// overloaded Assign() because we have some derived information to copy as well//void CPluginObject::UserOp_Assign(const CSerialUserOp& obj){ const CPluginObject& o = dynamic_cast<const CPluginObject&> (obj); // copy the address - this is the base class info SetDocaddr(o.GetDocaddr()); SetObjaddr(o.GetObjaddr()); SetSubtype(o.GetSubtype()); // copy our derived info as well m_Object = o.m_Object; m_Document = o.m_Document;}bool CPluginObject::UserOp_Equals(const CSerialUserOp& obj) const{ const CPluginObject& o = dynamic_cast<const CPluginObject&> (obj); return (GetDocaddr() == o.GetDocaddr() && GetObjaddr() == o.GetObjaddr() && GetSubtype() == o.GetSubtype() && GetDocument() == o.GetDocument() && GetObject() == o.GetObject());}// Reset()// this is overloaded from CPluginObject_Base and allows us to reset our derived// type informationvoid CPluginObject::Reset(void){ // call the base class Tparent::Reset(); // reset our specific information m_Object.Reset(); m_Document.Reset();}//// PostRead()// this function is responsible for parsing any state information from our// address string//void CPluginObject::PostRead(){ // store our pointers m_Document.Reset (static_cast<const IDocument*>(NStr::StringToPtr(GetDocaddr()))); m_Object.Reset (static_cast<const CObject*>(NStr::StringToPtr(GetObjaddr()))); /** // // store our derived object type information // SetSubtype("Object"); // generic handling of CSerialObject-derived classes {{ const CSerialObject* obj = dynamic_cast<const CSerialObject*>(m_Object.GetPointer()); if (obj) { SetSubtype(obj->GetThisTypeInfo()->GetName()); } }} // generic handling of IDocuments {{ const IDocument* obj = dynamic_cast<const IDocument*>(m_Object.GetPointer()); if (obj) { SetSubtype("Document"); } }} **/}END_objects_SCOPE // namespace ncbi::objects::END_NCBI_SCOPE/** ===========================================================================** $Log: PluginObject.cpp,v $* Revision 1000.2 2004/06/01 20:53:48 gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.3** Revision 1.3 2004/05/21 22:27:46 gorelenk* Added PCH ncbi_pch.hpp** Revision 1.2 2004/02/04 13:36:42 dicuccio* Implemented resetting of object-based arguments** Revision 1.1 2003/10/27 17:44:33 dicuccio* Reworked CPluginValue to be a variant. Removed ad hoc URL encoding*** ===========================================================================*//* Original file checksum: lines: 64, chars: 1886, CRC32: f857b507 */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?