Changeset 1311

Show
Ignore:
Timestamp:
11/11/07 13:24:31 (11 months ago)
Author:
calvin
Message:

revert a tiny workaround in DockTabPane?.h from earlier that didnt do anything anyway and fix the real issue why the sequencer cursor sometimes was messed up. property view handles mouse activation better. sequencer tracks are automatically added for new no-input-no-output-machines (such as miditracker)

Location:
trunk/src/buzelib
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/buzelib/DockTabFrame/DockTabPane.h

    r1273 r1311  
    532532                                CWindow win( clientViewWnd); 
    533533                                win.SetWindowPos( HWND_TOP, clientRect, SWP_SHOWWINDOW); 
    534                                 win.SetFocus(); // added by anders, need OnFocus for carets 
    535534                                return true; 
    536535                        } 
  • trunk/src/buzelib/EditorActions.cpp

    r1304 r1311  
    415415                // NOTE: still only creating sequencer tracks for generators 
    416416 
    417                 if ((machine->getFlags() & PLUGIN_FLAGS_MASK) == GENERATOR_PLUGIN_FLAGS) { 
     417                bool isGenerator = (machine->getFlags() & PLUGIN_FLAGS_MASK) == GENERATOR_PLUGIN_FLAGS; 
     418                bool isNoInputOutput = ((machine->getFlags() & zzub_plugin_flag_has_audio_input) == 0) && ((machine->getFlags() & zzub_plugin_flag_has_audio_output) == 0); 
     419 
     420                if (isGenerator || isNoInputOutput) { 
    418421                        document->player->lockTick(); 
    419422                        sequence* track = new sequence(machine); 
  • trunk/src/buzelib/PropertyListView.cpp

    r1304 r1311  
    160160                 
    161161LRESULT CPropertyListView::OnMouseActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { 
    162         return MA_ACTIVATE; 
     162        // we need to process WM_MOUSEACTIVATE before the docktabframework as it sets focus causing  
     163        // several problems with our property list. 
     164        if (mainFrame->frame.focusedClientView() == *this) { 
     165                return MA_ACTIVATE; 
     166        } else 
     167                return DefWindowProc(); 
    163168} 
  • trunk/src/buzelib/SequenceEditor.cpp

    r1304 r1311  
    788788        Invalidate(erase?TRUE:FALSE); 
    789789        UpdateWindow(); 
    790         showCaret(); 
     790        updateCaretPosition(); 
    791791 
    792792        paintMode=SequenceViewAll; 
     
    801801void CSequenceEditor::createCaret() { 
    802802        CreateSolidCaret(cellWidth-1, 16); 
    803     showCaret(); 
     803    caretCreated = true; 
     804    updateCaretPosition(); 
    804805        ShowCaret(); 
    805     caretCreated = true; 
    806806} 
    807807 
     
    816816        if (!caretCreated)  
    817817            createCaret(); else 
    818             showCaret(); 
     818            updateCaretPosition(); 
    819819    } 
    820820} 
     
    836836} 
    837837 
    838 void CSequenceEditor::showCaret() { 
     838void CSequenceEditor::updateCaretPosition() { 
    839839        if (mainFrame->player->getSequenceTracks()==0) return ; 
    840  
    841     if (mainFrame->frame.focusedClientView() != sequenceView->m_hWnd) return ; 
     840        if (GetFocus() != m_hWnd) return ; 
    842841 
    843842    // validate cursor position 
  • trunk/src/buzelib/SequenceEditor.h

    r1238 r1311  
    4343        void destroyCaret(); 
    4444        void createCaret(); 
    45         void showCaret(); 
     45        void updateCaretPosition(); 
    4646 
    4747        int getRowsToRender();