SyGBeginEditingTask::SyGBeginEditingTask ( SyGFileTreeTable* table, const JPoint& cell ) : JXIdleTask(kJXDoubleClickTime), itsTable(table), itsNode((table->GetFileTreeList())->GetSyGNode(cell.y)) { ClearWhenGoingAway(itsNode, &itsNode); ClearWhenGoingAway(itsNode, &(itsTable->itsEditTask)); }
SyGDuplicateProcess::SyGDuplicateProcess ( SyGFileTreeTable* table, const JPtrArray<SyGFileTreeNode>& nodeList ) : itsTable(table), itsNodeList(JPtrArrayT::kForgetAll), itsFullNameList(JPtrArrayT::kDeleteAll), itsProcess(NULL), itsShouldEditFlag(JI2B(nodeList.GetElementCount() == 1)) { (itsTable->GetTableSelection()).ClearSelection(); ClearWhenGoingAway(itsTable, &itsTable); const JSize count = nodeList.GetElementCount(); for (JIndex i=1; i<=count; i++) { SyGFileTreeNode* node = const_cast<SyGFileTreeNode*>(nodeList.NthElement(i)); itsNodeList.Append(node); itsFullNameList.Append((node->GetDirEntry())->GetFullName()); ListenTo(node); } ProcessNextFile(); }
CBCommand::CBCommand ( const JString& path, const JBoolean refreshVCSStatusWhenFinished, const JBoolean beepWhenFinished, CBProjectDocument* projDoc ) : itsProjDoc(projDoc), itsCmdPath(path), itsOutputDoc(NULL), itsBeepFlag(beepWhenFinished), itsRefreshVCSStatusFlag(refreshVCSStatusWhenFinished), itsUpdateSymbolDatabaseFlag(kJFalse), itsInQueueFlag(kJFalse), itsSuccessFlag(kJTrue), itsCancelledFlag(kJFalse), itsMakeDependCmd(NULL), itsBuildOutputDoc(NULL), itsRunOutputDoc(NULL), itsParent(NULL), itsCallParentProcessFinishedFlag(kJTrue) { assert( JIsAbsolutePath(path) ); itsCmdList = jnew JArray<CmdInfo>; assert( itsCmdList != NULL ); if (itsProjDoc != NULL) { ClearWhenGoingAway(itsProjDoc, &itsProjDoc); } }
CMInitVarNodeTask::CMInitVarNodeTask ( CMVarNode* node ) { itsNode = node; ClearWhenGoingAway(itsNode, &itsNode); }
JXScrollTabsTask::JXScrollTabsTask ( JXTabGroup* tabGroup ) : itsTabGroup(tabGroup) { ClearWhenGoingAway(itsTabGroup, &itsTabGroup); }
JXUpdateMinSizeTask::JXUpdateMinSizeTask ( JXDockWidget* dock ) : itsDockWidget(dock) { ClearWhenGoingAway(itsDockWidget, &itsDockWidget); }
SVNRefreshStatusTask::SVNRefreshStatusTask ( SVNMainDirector* director ) : JXIdleTask(kRetryPeriod), itsDirector(director) { ClearWhenGoingAway(itsDirector, &itsDirector); }
JVMGetThreadParent::JVMGetThreadParent ( JVMThreadNode* node, const JBoolean checkOnly ) : CMCommand("", kJTrue, kJFalse), itsNode(node), itsCheckOnlyFlag(checkOnly) { ClearWhenGoingAway(itsNode, &itsNode); CMCommand::Send(); }
JXCSFSelectPrevDirTask::JXCSFSelectPrevDirTask ( JDirInfo* dirInfo, JXDirTable* dirTable, const JCharacter* dirName ) : JXUrgentTask() { itsDirInfo = dirInfo; itsDirTable = dirTable; ClearWhenGoingAway(itsDirTable, &itsDirTable); itsDirName = jnew JString(dirName); assert( itsDirName != NULL ); }
JXImagePainter::JXImagePainter ( JXImage* image, Drawable drawable, const JRect& defaultClipRect, const Region defaultClipRegion ) : JXWindowPainter(new JXGC(image->GetDisplay(), drawable), drawable, defaultClipRect, defaultClipRegion) { assert( image != NULL ); #ifndef NDEBUG { JXGC* gc = GetGC(); assert( gc != NULL ); } #endif itsImage = image; ClearWhenGoingAway(itsImage, &itsImage); }
void GPMProcessTreeList::Receive ( JBroadcaster* sender, const Message& message ) { if (sender == itsList && message.Is(GPMProcessList::kPrepareForUpdate)) { if (itsSelectedEntry != NULL) { StopListening(itsSelectedEntry); itsSelectedEntry = NULL; } if (GetSelectedProcess(&itsSelectedEntry)) { ClearWhenGoingAway(itsSelectedEntry, &itsSelectedEntry); } } else if (sender == itsList && message.Is(GPMProcessList::kListChanged)) { JTableSelection& s = GetTableSelection(); s.ClearSelection(); JIndex index; if (itsSelectedEntry != NULL && GetTreeList()->FindNode(itsSelectedEntry, &index)) { s.SelectRow(index); StopListening(itsSelectedEntry); itsSelectedEntry = NULL; } Refresh(); } else if (sender == itsContextMenu && message.Is(JXMenu::kNeedsUpdate)) { UpdateContextMenu(); } else if (sender == itsContextMenu && message.Is(JXMenu::kItemSelected)) { const JXMenu::ItemSelected* selection = dynamic_cast<const JXMenu::ItemSelected*>(&message); assert( selection != NULL ); HandleContextMenu(selection->GetIndex()); } else { if (sender == &(GetTableSelection()) && message.Is(JTableData::kRectChanged)) { const GPMProcessEntry* entry; if (IsVisible() && GetSelectedProcess(&entry)) { itsFullCmdDisplay->SetText(entry->GetFullCommand()); } } JXNamedTreeListWidget::Receive(sender, message); } }
void SMTPMessage::Send() { HandleAddresses(); AppendToOutbox("From "); AppendToOutbox(*itsFrom); AppendToOutbox(" "); struct timeb tp; ftime(&tp); JString date(ctime(&(tp.time))); AppendToOutbox(date); std::istrstream is(date.GetCString(), date.GetLength()); JString dow; JString mon; JString day; JString rest; dow = JReadUntilws(is); mon = JReadUntilws(is); day = JReadUntilws(is); JReadAll(is, &rest); AppendToOutbox("Date: "); AppendToOutbox(dow); AppendToOutbox(", "); AppendToOutbox(day); AppendToOutbox(" "); AppendToOutbox(mon); AppendToOutbox(" "); AppendToOutbox(rest); JString addrStr = itsSMTPServer; if (!addrStr.Contains(":")) { addrStr += ":25"; } ACE_INET_Addr addr(addrStr); itsLink = new InetLink; assert(itsLink != NULL); itsConnector = new INETConnector; assert( itsConnector != NULL ); ACE_Synch_Options options(ACE_Synch_Options::USE_REACTOR, ACE_Time_Value(kMaxWaitSeconds)); if (itsConnector->connect(itsLink, addr, options) == -1 && jerrno() != EAGAIN) { JString notice = "No response from sendmail : Error number "; int errNumber = jerrno(); notice += JString(errNumber); JGetUserNotification()->ReportError(notice); itsDeleteTask = new JXTimerTask(1000,kJTrue); assert( itsDeleteTask != NULL ); itsDeleteTask->Start(); ListenTo(itsDeleteTask); Broadcast(SendFailure()); // itsLink = NULL; return; } itsTimeoutTask = new JXTimerTask(kMaxWaitSeconds * 1000,kJTrue); assert( itsTimeoutTask != NULL ); itsTimeoutTask->Start(); ListenTo(itsTimeoutTask); ClearWhenGoingAway(itsLink, &itsLink); }